[Home]

Summary:ASTERISK-24594: SIP Signal 183 Session Progress doesn't update Channel status to
Reporter:Mason Chase (moontius)Labels:
Date Opened:2014-12-04 04:26:38.000-0600Date Closed:2014-12-04 09:17:32.000-0600
Priority:MinorRegression?Yes
Status:Closed/CompleteComponents:Channels/chan_sip/Messaging
Versions:11.14.1 13.0.1 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Centos 6.5 64bitAttachments:
Description:When SIP signal 183 Session Progrress from called party received to asterisk chan_sip.so , it doesn't update the channel status.

Therefore AMI does not report an event on this signal.

I have compiled a patch for this issue to be fixed on channels\chan_sip.c

[~mjordan]: Inline patch removed
Comments:By: Matt Jordan (mjordan) 2014-12-04 09:17:32.587-0600

A few points:
# To contribute a patch to Asterisk, you must sign a CLA (See "Sign a License Agreement") and attach a patch to the issue in unified diff format. See https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process for more information.
# This is not a bug. A 183 does not indicate ringing, nor does it indicate any other channel status. It indicates Progress, which does not have a corresponding channel state.
# Even if it did have a channel state associated with it, {{AST_STATE_PRERING}} would not be correct or appropriate.

By: Mason Chase (moontius) 2014-12-04 09:54:02.953-0600

It was a warm welcome to Asterisk development community. I hope I can help and contribute to Asterisk project.

Related to #1: I have signed CLA and created patch waiting for the approval.

#2, You're right, it is not appropriate to categorize it as bug, it is a missing stage in asterisk calling codes.
which asterisk has missing equivalent of SIP such stage internally.

Although as tiny it may seems: this can affect high percentage calls made everyday with Asterisk that are using SIP peering.

To our experience, most mobile operators soft switches are using SIP 183 Session Progress
to indicate network or call errors code such as "Out of Coverage" or "Phone is off" or "Voicemail"

When Asterisk is bridging a call that is using 183 SIP PROGRESS, it doesn't pass it back to the caller extension's useragent.

#3 : Asterisk doesn't handle any standard between AST_STATE_PRERING and AST_STATE_RING,

In fact the proper of doing this to add enum before RING such as: AST_STATE_PROGRESS