[asterisk-bugs] [JIRA] (ASTERISK-24692) PJSIP: Provisional 181 response during a call forward is given an SDP, which cancels ringing on devices without Asterisk providing an inband indication

Matt Jordan (JIRA) noreply at issues.asterisk.org
Thu Jan 15 09:39:40 CST 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-24692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matt Jordan updated ASTERISK-24692:
-----------------------------------

    Status: Open  (was: Triage)

> PJSIP: Provisional 181 response during a call forward is given an SDP, which cancels ringing on devices without Asterisk providing an inband indication
> -------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-24692
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24692
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_pjsip
>            Reporter: Matt Jordan
>
> During a call forward, Asterisk will generate a 181 provisional response:
> {code}
> 	case AST_CONTROL_REDIRECTING:
> 		if (ast_channel_state(ast) != AST_STATE_UP) {
> 			response_code = 181;
> 		} else {
> 			res = -1;
> 		}
> 		break;
> {code}
> This is a nice thing to do. Unfortunately, PJSIP adds an SDP to the 181 provisional response:
> {noformat}
> <--- Transmitting SIP response (954 bytes) to UDP:x.x.x.x:5060 --->
> SIP/2.0 181 Call Is Being Forwarded
> Via: SIP/2.0/UDP x.x.x.x:5060;rport=5060;received=y.y.y.y;branch=z9hG4bKPjIo3GpwdBfAvZOr3Ammsvn0cjRkI5q9RN
> Call-ID: 8O.T2t9YnJ2FxgX.0EOU39LdzCG0Gr2E
> From: "201" <sip:201 at x.x.x.x>;tag=j5rsF30Mb05sMX0.PooGb60vyQJoCVHK
> To: <sip:202 at y.y.y.y>;tag=8d16b0c3-ef2d-4edf-b04d-aa0d4b15dd6f
> CSeq: 12807 INVITE
> Server: Asterisk PBX 13.1.0
> Allow: OPTIONS, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REGISTER, REFER
> Contact: <sip:z.z.z.z:5060>
> Diversion: <sip:202 at z.z.z.z>;reason=unknown
> Content-Type: application/sdp
> Content-Length:   311
> v=0
> o=- 116652538 116652540 IN IP4 z.z.z.z
> s=Asterisk
> c=IN IP4 z.z.z.z
> t=0 0
> m=audio 19124 RTP/AVP 9 0 8 111 96
> a=rtpmap:9 G722/8000
> a=rtpmap:0 PCMU/8000
> a=rtpmap:8 PCMA/8000
> a=rtpmap:111 G726-32/8000
> a=rtpmap:96 telephone-event/8000
> a=fmtp:96 0-16
> a=ptime:20
> a=maxptime:150
> a=sendrecv
> {noformat}
> The SDP causes the device that receives the 181 to stop generating ringing, which is appropriate - it was informed that media may be flowing to it, so it stops generating the ringing tone.
> Unfortunately, Asterisk didn't get the memo, and so no audio flows from Asterisk to the phone.
> Alas, the notion of slapping an SDP on the 181 (which is allowed) is occurring down in PJSIP land:
> {code}
>      if (st_code/100==2 || (st_code/10==18 && st_code!=180)) {
> {code}
> So, we either have to fix this in PJSIP, or we have to buck up and generate some ringing for the device ourselves.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list