In some occasions, a call attempt may be cancelled due to differences in early media expectations onPBXon PBX.
An example of this can be for a SIP trunkingscenario trunking scenario (i.e. ITSP<---SBC<—PBX), where a PBX makes an outbound call towards the ITSP.
If bIf the PBX expects to see a 180 message from the remote side, (not a 183 with SDP), the SIP invite timer on the PBX will expire and will send a CANCEL to end the call attempt.
...
So if you want to force the SBC to send a 180 to the PBX instead of 183 w/ SDP, add the following to the dialplan:
<action application="set" data="ignore_early_media=ring_ready"/> |
---|
Find below a samplepcap traceof this scenario.
PBX: 10.10.1.2
SBC: 10.10.11.217
ITSP: 218.188.75.170
As seen, after the PBX sends an INVITE out, a 183 w/SDP comes back from the ITSP which is sent through the SBC to the PBX.
The PBX then waits for about 30 seconds, before sending a CANCEL message.
Expanding on the Reason Code, ‘recovery on timer expiry’ is indicated.
...
If the PBX must receive a 180 instead of 183 then, simply use the channel variable ‘ignore_early_media=ring_ready’ to force a 180 to be sent to the PBX.
For the dial plan (the one used to send calls to the ITSP from the PBX), this is what you enter:
...
If you are using the ‘advanced dialplan routing’ with regular expression, use the following and insert above the ‘bridge’:
<action application="set" data="ignore_early_media=ring_ready"/> |
---|