Asterisk adds SDP to a 183 In Progress?!


#1

Hi,

I’m initiating a call from a ZYXEL P200W IP Phone to call a Mediatrix 1402 (ISDN BRI gateway) to reach extensions on a Meridian Nortel PBX.

Based on ISDN events, the 1402 send a 183 In Progress, with no SDP, to Asterisk, followed by a 180 Ringing (no SDP), to generate a local ringback on the IP Phone. Unfortunately, Asterisk adds SDP to the “183 In Progress” which in turn triggers the voice in the IP phone, also known as early media. The result of this early media is that the IP phone will never play the ringback, probably because voice has already started.

The dialplan is simply the default:
; arg1 = trunk number, arg2 = number, arg3 = route password
exten => s,14,Dial(${OUT_${ARG1}}/${OUTNUM}) ; Regular Trunk Dial
no music on hold or anything who could trigger early media (well in my opinion).

Unfortunately, we can not remove the “183 In Progress” sent by the Mediatrix 1402.

Is there a setting to prevent Asterisk from adding SDP to this “183 In Progress” ??

My Asterisk is an Asterisk@home 2.5 settings with AMP.

Thanks.

NormandR


#2

Hi,

Unfortunately i can’t add a solution to your problem, but instead i want to get your comments in case you have already solve this problem, since i have a similar problem here,

This is what I have:

PSTN Huwai Softswitch->Asterisk 1.2.1 -> SIP Endpoint (W7 Optics LMG)

The problem is that, when doing an outgoing call to the PSTN, the asterisk sends a RINGING back to the SIP Endpoint without even get yet any answer from the PSTN Softswitch… see this:

SOURCE DESTINATION

SIP Endpoint Asterisk SIP/SDP Request: INVITE
Asterisk SIP Endpoint SIP Status: 100 Trying
Asterisk PSTN Softswitch SIP/SDP Request: INVITE
Asterisk SIP Endpoint SIP Status: 180 Ringing
PSTN Softswitch Asterisk SIP Status: 100 Trying
PSTN Softswitch Asterisk SIP Status: 486 Busy Here
Asterisk PSTN Softswitch SIP Request: ACK
Asterisk SIP Endpoint SIP Status: 486 Busy here
SIP Endpoint Asterisk SIP Request: ACK

If you see, at message 4 the Asterisk sends a 180 Ringing to the SIP Endpoint without even knowing if the call will be completed, busy, not found, service unavailable or whatever it can be. This is causing an early RINGING TONE at the SIP endpoint caller that doesnt change when at the end the call was BUSY and then the caller gets confused because the phone rings and rings and the call was busy!

I need to find a way to take out that early 180 RINGING, which i guess the asterisk uses as a “calling progress” attempt or something like that.

Please let me know what do you think!

Thanks

btw, are you normand @ mediatrix in Canada?

Saludos!


#3

[quote=“NormandR”]Hi,

I’m initiating a call from a ZYXEL P200W IP Phone to call a Mediatrix 1402 (ISDN BRI gateway) to reach extensions on a Meridian Nortel PBX.

Based on ISDN events, the 1402 send a 183 In Progress, with no SDP, to Asterisk, followed by a 180 Ringing (no SDP), to generate a local ringback on the IP Phone. Unfortunately, Asterisk adds SDP to the “183 In Progress” which in turn triggers the voice in the IP phone, also known as early media. The result of this early media is that the IP phone will never play the ringback, probably because voice has already started.

The dialplan is simply the default:
; arg1 = trunk number, arg2 = number, arg3 = route password
exten => s,14,Dial(${OUT_${ARG1}}/${OUTNUM}) ; Regular Trunk Dial
no music on hold or anything who could trigger early media (well in my opinion).

Unfortunately, we can not remove the “183 In Progress” sent by the Mediatrix 1402.

Is there a setting to prevent Asterisk from adding SDP to this “183 In Progress” ??

My Asterisk is an Asterisk@home 2.5 settings with AMP.

Thanks.

NormandR[/quote]

I’m affraid that you can’t do that (and if, you violate the RFC).
Code 183 isn’t “In progress” but “Session progress”. And it is huge difference! Session progress signal should be followed with inband info informing caller whats happend…
You could know this messages from GSM networks (Number you are calling is not available at the moment, please try again later etc.)

One possible workaround for managing calls from your broken Meridian Nortel PBX is to override Session progress with Asterisk ringing (you simply ignore 183 Session progres and send 180 Ringing to the caller):
exten => s,14,Dial(${OUT_${ARG1}}/${OUTNUM},r)

Hope this helps…