Migrating sip to pjsip trunk problem, incoming call drops after 32 seconds

The plot thickens. I just did a capture on my test system to see why it doesn’t fail, given that I don’t specify a Contact User.

The 200 OK has a Contact header just like yours:
Contact: <sip:1.2.3.4:5678>
and the ACK comes back:
ACK sip:1.2.3.4:5678 SIP/2.0
which pjsip recognizes (based on source IP) as belonging to the correct trunk and all is well.

So, it appears that Fibernetics is fussier than my provider AnveoDirect about the Contact format and is either not sending an ACK or addressing it incorrectly.

Reading the RFCs carefully should show whether this is a Fibernetics issue or a pjsip issue. But of course, we should also look for a quick workaround in pjsip.

Also, I’ll test with a 647 I have from DryVoIP.ca, though Iristel is the CLEC not Fibernetics.

I’ve specified Contact User without quotes, but there is no difference in debug output

Test with DryVoIP showed the same results – no username in Contact but ACK received successfully.

In https://www.ietf.org/rfc/rfc3261.txt , section 19.1.1, it says: “The userinfo part of a URI is optional and MAY be absent when the destination host does not have a notion of users or when the host itself is the resource being identified.” IMO, this problem is a bug at Fibernetics, though I’m not a standards guy.

I’m running Asterisk 14.7.5 with pjproject version 2.6. Possibly, there is newer code that includes userinfo in the problematic Contact header. Or, careful reading of the documentation or source code may reveal a setting that will get the userinfo in there.

What’s your experience with tech support at Fibernetics? If you document the deficiency, can you get attention from someone who will understand the issue and has the skills and authority to get it fixed?

I’ve tested pjsip trunk with different provider (Primus) and it works, ACK was received. No luck with Fibernetics support. Is there any way to insert User/number in Contact header?

Just a quick question: In SIP Settings > PJSIP, did you set allow reload to yes?

1 Like

Tried both, no difference. It was set to yes

Sorry, I don’t know much about pjsip (because it’s never caused me significant trouble).

For fixing this problem at the pjsip end, some possibilities include:

Read the documentation at https://www.pjsip.org/ for clues on inserting a username into the Contact header.

Sign up for the pjsip mailing list and post your question there.

Look at the source code to see how the relevant Contact header is built – you may find a parameter that does what you want.

Search the mailing list for similar bug reports – someone may have posted a patch.

Modify the source code yourself and build it. If it works as expected, you might also submit the change to the authors.

For fixing this at the Fibernetics end, consider:

Write to an appropriate manager; see http://www.fibernetics.ca/team/ . IMO Mr. Dominguez is the right guy, having served as CTO before his promotion to president. Explain that this issue affects all Asterisk systems migrating to pjsip and provide suitable details.

Sign up for an account at https://www.dslreports.com/ and send a PM to Trev; he’s the very knowledgeable owner of http://acrovoice.ca/ , a major Fibernetics customer. If you convince him that all pjsip-based systems are incompatible with Fibernetics, he certainly has the clout to get the problem fixed.

The other obvious option: Do nothing, keep the trunk on chan_sip; someone else will eventually take the effort to fix it, at one end or the other.

Thank you Stewart for your help, I will post here if I get anything from the sources you mentioned. For now I am stuck with chan_sip

Cheers

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.