[Asterisk-code-review] pjsip: Generate progress (once) when receiving a 180 with a SDP (asterisk[18])

Holger Hans Peter Freyther asteriskteam at digium.com
Thu Jan 7 08:35:38 CST 2021


Holger Hans Peter Freyther has uploaded this change for review. ( https://gerrit.asterisk.org/c/asterisk/+/15307 )


Change subject: pjsip: Generate progress (once) when receiving a 180 with a SDP
......................................................................

pjsip: Generate progress (once) when receiving a 180 with a SDP

ASTERISK-29105

Change-Id: If1615fe7115fe544ef974b044d3cea5c48b94a38
---
M channels/chan_pjsip.c
1 file changed, 13 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/07/15307/1

diff --git a/channels/chan_pjsip.c b/channels/chan_pjsip.c
index 81d4388..4f02de5 100644
--- a/channels/chan_pjsip.c
+++ b/channels/chan_pjsip.c
@@ -3152,15 +3152,25 @@
 	ast_channel_hangupcause_hash_set(session->channel, cause_code, data_size);
 
 	switch (status.code) {
-	case 180:
-		ast_trace(-1, "%s: Queueing RINGING\n", ast_sip_session_get_name(session));
-		ast_queue_control(session->channel, AST_CONTROL_RINGING);
+	case 180: {
+		pjsip_rdata_sdp_info *sdp = pjsip_rdata_get_sdp_info(rdata);
+		if (sdp && sdp->body.ptr) {
+			ast_trace(-1, "%s: Queueing PROGRESS\n", ast_sip_session_get_name(session));
+			if (prio == AST_SIP_SESSION_AFTER_MEDIA) {
+				ast_queue_control(session->channel, AST_CONTROL_PROGRESS);
+			}
+		} else {
+			ast_trace(-1, "%s: Queueing RINGING\n", ast_sip_session_get_name(session));
+			ast_queue_control(session->channel, AST_CONTROL_RINGING);
+		}
+
 		ast_channel_lock(session->channel);
 		if (ast_channel_state(session->channel) != AST_STATE_UP) {
 			ast_setstate(session->channel, AST_STATE_RINGING);
 		}
 		ast_channel_unlock(session->channel);
 		break;
+	}
 	case 183:
 		ast_trace(-1, "%s: Queueing PROGRESS\n", ast_sip_session_get_name(session));
 		if (session->endpoint->ignore_183_without_sdp) {

-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/15307
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 18
Gerrit-Change-Id: If1615fe7115fe544ef974b044d3cea5c48b94a38
Gerrit-Change-Number: 15307
Gerrit-PatchSet: 1
Gerrit-Owner: Holger Hans Peter Freyther <automatic at freyther.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20210107/d08f7260/attachment.html>


More information about the asterisk-code-review mailing list