Hold-Resume: Asterisk did not forward the call Hold reINVITE

Hello Everyone,

Kindly confirm Asterisk 15.5 will forward call-Hold Resume reINVITE/UPDATE to upstream network. Test setup and Observations are as follows:

 User A is registered with Asterisk(15.5). Asterisk is communicating to Service provider network over SIP trunk (chan_sip channel) with Media Bypass is enabled.
 Users and SIP trunk is configured with CANREINVITE=YES,
 And, sip trunk is enabled for media bypass using following configurations:
Settings -> Asterix SIP settings -> ‘Reinvite Behavior=yes’
Added below entries to Other SIP Settings
–> ‘directrtpsetup=yes’ and
–> ‘keepalive=yes’
–> ‘directmedia=yes’

Test scenario is PBX user calls PSTN user over SIP trunk and PBX user places call on hold.
• Voice call established between PBX endpoint(6.5.x.x:19010) and PSTN endpoint(172.22.x.x:6264)
• PBX endpoint places the call on hold
• Phone sends Hold INVITE to PBX with media attribute a= sendonly with Connection Info as Phone IP
• PBX responds with 200OK/SDP media attribute a= recvonly with Connection Info as Service Provider network IP
Asterisk did not forwards Hold INVITE to Service Provider
PBX(10.64.X.X) sends Music on hold to Service provider network in the already established RTP port (172.22.x.x:6264)
• Since Service Provider network did not get any notification from Asterisk on call on hold, Service Provider network rejects the RTP received from PBX (10.64.X.X)
• Could not hear MOH plays at PSTN endpoint
• PBX endpoint goes on hold, however PSTN endpoint will be in active session
• When call resumes both endpoints continues the session with 2-way audio.

Kindly confirm Asterisk 15.5 will forward call-Hold Resume INVITE/UPDATE to upstream network. And please help me if I missed any configuration.
Thanking you in advance.

Asterisk is a back to back user agent, not a proxy, so it never forwards invites.

The versions I’m most familiar with also have no way of signalling an internal on hold state, other than playing music on hold. I can’t be sure that this feature hasn’t been added to the official version, but, if it has, it would probably be only for the PJSIP channel technology, and will need to be explicitly enabled.

canreinvite has been deprecated for a very long time, because, in reality, it only inhibits one type of invite. It is now called directmedia, which you also seem to have set.

I wasn’t aware that drectrtpsetup has ever been officially supported.

1 Like

Direct RTP setup has never been officially supported and can suffer from failures in different scenarios. The chan_sip module has no ability to forward the hold onward. This is available in chan_pjsip using the “moh_passthrough” option as of Asterisk 15.

1 Like

Thank you Sir.
If directrtpsetup is not officially supported, is there any other configuration to enable Media bypass in Asterisk 15.5.

The only available option is the direct media functionality.

I just removed the directrtpsetup from the Asterisk SIP settings, and tried an outbound call from PBX user. And now PBX is anchoring the media. Below are the current configurations in my PBX:

• PBX user and SIP trunk are configured with same codecs (g711alaw & g729).
directmedia is set to yes.
• Removed “Tt” from Asterisk Dial Options
• NATing is not used here.

Could you please confirm, all configurations are in correct place or Did I miss any ?

From my memory yes, but if you enable debug in logger.conf to console and do “core set debug 4” it will output the reason why it isn’t doing direct media if it did not do so.