Issue with incoming calls to Grandstream HT802

I have two DID’s from voip.ms both trunks registered. I have no problems on incoming calls with one going to an extension registered to a softphone on a desktop computer.

The DID trunk at issue is attached to an extension registered to the HT802 and is initiating outbound calls but unfortunately will not take inbound calls with the proverbial error:

[2022-12-12 15:38:33] ERROR[21738] res_pjsip_session.c: voipms_XXXXX: Couldn't negotiate stream 0:audio-0:audio:sendrecv (nothing)

Both devices are on the same VLAN.
I’ve check codecs over and over again.
I don’t think it’s an extension configuration issue. But maybe feel it’s maybe a misconfigured HT802 for incoming calls? However, not entirely sure. Any help would be appreciated. Thanks in advance.

Besides codecs, this can be caused by requesting incompatible or unsafe security options.

For instance?

SRTP with UDP signalling (unsafe), ZRTP (not supported), the WebRTC required options on a non-WebRTC connection (incompatible).

Asterisk normally has very little interaction between extensions and trunks. Please confirm that you can call the HT802 ok from another extension, and also that you can route the problematic DID to a working extension with no trouble.

If that doesn’t help, it would be useful to see the complete log including SIP trace. At the Asterisk command prompt, type
pjsip set logger on
make a failing incoming call, paste the Asterisk log for the call at pastebin.freepbx.org and post the link here. If you are too new to post links, just post the last eight hex characters of the URL.

Here’s the Pastebin URL
https://pastebin.freepbx.org/view/2b52aa1c

[ I got mixed up. RTP/AVP is the normal, unencrypted, non-WebRTC, case. ]

Three things are strange:

Codecs: Confirm that the codec setting for the Trunk has ulaw as the top choice (and preferably no others).

4070 INVITE sip:[email protected]:5060 SIP/2.0
I assume that this is an on-site PBX and 192.168.0.19 is its LAN address. This seems to indicate that the router/firewall has a SIP ALG enabled (if in Asterisk SIP Settings, External Address and Local Networks are correctly set, VoIP.ms should have no way of knowing the private address). Try turning off SIP ALG.

Asterisk did not even execute the Inbound Route logic, yet you claim that if you change the Inbound Route to point to an extension other than the HT802, the call succeeds?

Another thought: If you have two or more trunks registered to the same server on the same provider (you don’t need this with VoIP.ms but chose to do so), pjsip uses the Line parameter to distinguish them. However, either you didn’t enable that or VoIP.ms didn’t pass it. That should not be a problem (you don’t care which trunk the call came in on), but make sure that the codec list for the other trunk also has only ulaw enabled.

Sorry, forgot to mention that for both trunks, confirm Media Encryption is set to none.

I believe this may have been the solution. I disabled SIP ALG in the router/firewall settings. Now I can receive incoming calls. Thank you!
One other thing is I am getting this error:

ERROR[4183][C-0000003d] pbx_functions.c: Function SIP_HEADER not registered.

Is this something to correct?
Thanks, for all you assistance, Stewart!
Gordon

No it is normal for a FreePBX system without chan_sip loaded.

Thanks!

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