JSLEE Discussions
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
SIP Session Re-configuration (reINVITE)
Forum Index » JAIN SLEE Discussions
Author Message
fmalka


Joined: 09/07/2012 02:12:17
Messages: 6
Offline

We are issueing a reINVITE on an active session dialog.

the SIP RA does behave slighlty different than what we expected.

the message flow looks as following:

----> INVITE (new SDP) ------>
<----- 491 Request Pending -----
<------ OK (SDP) --------------

Now, when the SIP RA receive the 491 message, then it terminates the specific client transaction.
So when the OK arrive, it is not delivered to the SBB because there is no matching transaction to bind to.

Any idea how can we get the OK into our application so we can generate the ACK?
ben


Joined: 27/02/2008 13:51:28
Messages: 144
Location: NZ
Offline

That message flow is not valid SIP. The server has sent a final response (491), it cannot send any more responses for that transaction. So the OK arriving after the 491 is invalid.

When a client receives a 491 for a re-INVITE is should back off for a few seconds, then generate a new re-INVITE, as explained in RFC3261 §14.1.

Ben Evans, Software Engineer, OpenCloud
[WWW]
fmalka


Joined: 09/07/2012 02:12:17
Messages: 6
Offline

Yes, but the SBB doesn't receive the 491.
The sip ra receive the 491 and respond with a ACK.
the SBB is not aware of the 491 so it cannot start a timer nor resend the reINVITE.

INVITE sip:10.224.232.133:5060 SIP/2.0
Via: SIP/2.0/UDP 10.224.228.100:5060;oc-node=101;branch=z9hG4bKqJRUYhJAQYb4QPd1ViPrEA
From: <sip:0586272635@10.224.228.100;user=phone>;tag=N-JU4w
To: <sip:0586275662@10.224.232.133;user=phone>;tag=86YegaCfY.bcZU_j
Call-ID: hUGPuzDEuRF-jT33aeB5Qg
CSeq: 748616 INVITE
Contact: <sip:10.224.228.100:5060;transport=udp;oc-node=101>, <sip:10.224.228.100:5060;transport=udp;oc-node=101>
Content-Type: application/sdp
Content-Length: 190

v=0
o=- 0 0 IN IP4 10.224.232.2
s=-
c=IN IP4 10.224.233.84
t=0 0
m=audio 37670 RTP/AVP 8 96
b=AS:64
a=rtpmap:8 PCMA/8000
a=rtpmap:96 telephone-event/8000
a=ptime:20
a=maxptime:20

SIP/2.0 491 Request Pending
Content-Length: 0
From: <sip:0586272635@10.224.228.100;user=phone>;tag=N-JU4w
To: <sip:0586275662@10.224.232.133;user=phone>;tag=86YegaCfY.bcZU_j
Via: SIP/2.0/UDP 10.224.228.100:5060;oc-node=101;branch=z9hG4bKqJRUYhJAQYb4QPd1ViPrEA;rport
Call-ID: hUGPuzDEuRF-jT33aeB5Qg
CSeq: 748616 INVITE
Retry-After: 10

<101>09:05:17.212 Finest sipra [sip.transaction.manager] incomingSipResponse: txn id RFC3261TransactionID[z9hG4bKqJRUYhJAQYb4QPd1ViPrEA,10.224.228.100:5060,INVITE] matched txn=InviteClientTransaction[id=RFC3261TransactionID[z9hG4bKqJRUYhJAQYb4QPd1ViPrEA,10.224.228.100:5060,INVITE]]
<101>09:05:17.212 Finest sipra [sip.transaction.client.invite] InviteClientTransaction[id=RFC3261TransactionID[z9hG4bKqJRUYhJAQYb4QPd1ViPrEA,10.224.228.100:5060,INVITE]] setCurrentState: old=[Calling Transaction], new=[Completed Transaction]
<101>09:05:17.213 Finest sipra [sip.transport.udp] sendRequest: sending request:

ACK sip:10.224.232.133:5060 SIP/2.0
Via: SIP/2.0/UDP 10.224.228.100:5060;oc-node=101;branch=z9hG4bKqJRUYhJAQYb4QPd1ViPrEA;rport
From: <sip:0586272635@10.224.228.100;user=phone>;tag=N-JU4w
To: <sip:0586275662@10.224.232.133;user=phone>;tag=86YegaCfY.bcZU_j
Call-ID: hUGPuzDEuRF-jT33aeB5Qg
CSeq: 748616 ACK

SIP/2.0 200 OK
Content-Length: 190
From: <sip:0586272635@10.224.228.100;user=phone>;tag=N-JU4w
To: <sip:0586275662@10.224.232.133;user=phone>;tag=86YegaCfY.bcZU_j
Via: SIP/2.0/UDP 10.224.228.100:5060;oc-node=101;branch=z9hG4bKP56SYlW_4F25UBebbfl9KA;rport
Call-ID: hUGPuzDEuRF-jT33aeB5Qg
CSeq: 748615 INVITE
Session-Expires: 1800;refresher=uas
Contact: sip:10.224.232.133:5060
Allow: ACK,BYE,CANCEL,INFO,INVITE,OPTIONS,PRACK,REFER,UPDATE
Content-Type: application/sdp
Content-Disposition: session;handling=required

v=0
o=- 0 0 IN IP4 10.224.232.2
s=-
c=IN IP4 10.224.233.92
t=0 0
m=audio 15166 RTP/AVP 8 96
b=AS:64
a=rtpmap:8 PCMA/8000
a=rtpmap:96 telephone-event/8000
a=ptime:20
a=maxptime:20

<101>09:05:17.632 Finest sipra [sip.transaction.manager] incomingSipResponse: txn id RFC3261TransactionID[z9hG4bKP56SYlW_4F25UBebbfl9KA,10.224.228.100:5060,INVITE] did not match an existing txn
fmalka


Joined: 09/07/2012 02:12:17
Messages: 6
Offline

If we send ACK on the initial INVITE and only after then we send a reINVITE,
then the 491 response is not generated.

but the the 200 OK response coming back as an answer to the reINVITE is not reported to the SBB.

any clue, why?

INVITE sip:10.224.232.133:5060 SIP/2.0
Via: SIP/2.0/UDP 10.224.228.100:5060;oc-node=101;branch=z9hG4bK3pejaO13JajsYbJXUZsjtw
From: <sip:0544889090@10.224.228.100;user=phone>;tag=OqSUtw
To: <sip:0586272635@10.224.232.133;user=phone>;tag=iDi__C7YW7A5CjWd
Call-ID: thyK28TXYhEewNiBANtOGQ
CSeq: 639070 INVITE
Contact: <sip:10.224.228.100:5060;transport=udp;oc-node=101>
Content-Type: application/sdp
Content-Length: 190

v=0
o=- 0 0 IN IP4 10.224.232.3
s=-
c=IN IP4 10.224.233.92
t=0 0
m=audio 15200 RTP/AVP 8 96
b=AS:64
a=rtpmap:8 PCMA/8000
a=rtpmap:96 telephone-event/8000
a=ptime:20
a=maxptime:20
<101>12:16:20.083 Finest sipra [] Sending request on transaction ClientTransactionActivity[InviteClientTransaction[id=RFC3261TransactionID[z9hG4bK3pejaO13JajsYbJXUZsjtw,10.224.228.100:5060,INVITE]]]:

SIP/2.0 200 OK
Content-Length: 202
From: <sip:0544889090@10.224.228.100;user=phone>;tag=OqSUtw
To: <sip:0586272635@10.224.232.133;user=phone>;tag=iDi__C7YW7A5CjWd
Via: SIP/2.0/UDP 10.224.228.100:5060;oc-node=101;branch=z9hG4bK3pejaO13JajsYbJXUZsjtw;rport
Call-ID: thyK28TXYhEewNiBANtOGQ
CSeq: 639070 INVITE
Contact: sip:10.224.232.133:5060
Allow: ACK,BYE,CANCEL,INFO,INVITE,OPTIONS,PRACK,REFER,UPDATE
Content-Type: application/sdp
Content-Disposition: session;handling=required

v=0
o=- 0 1 IN IP4 10.224.232.2
s=-
c=IN IP4 10.224.233.92
t=0 0
m=audio 15154 RTP/AVP 8 96
b=AS:64
a=sendrecv
a=rtpmap:8 PCMA/8000
a=rtpmap:96 telephone-event/8000
a=ptime:20
a=maxptime:20
<101>12:16:20.100 Finest sipra [dialog.state] [SIPDialogAH[101,16,2051826755]] [CONFIRMED(UAC_REINVITE)] received 2xx response for re-INVITE
<101>12:16:20.100 Finest sipra [dialog.state] [SIPDialogAH[101,16,2051826755]] [CONFIRMED(UAC_REINVITE)] CONFIRMED(UAC_REINVITE) -> CONFIRMED(UAC_RETRANSMIT_ACK)
<101>12:16:20.100 Finest sipra [dialog.state] [SIPDialogAH[101,16,2051826755]] [CONFIRMED(UAC_RETRANSMIT_ACK)] target refresh, new target: <sip:10.224.232.133:5060>
<101>12:16:20.100 Finest sipra [event.eventcodec] getFireableEventType(16)=EventTypeID[name=javax.sip.message.Response.SUCCESS,vendor=net.java.slee,version=1.2]
<101>12:16:20.100 Finest sipra [] Transaction InviteClientTransaction[id=RFC3261TransactionID[z9hG4bK3pejaO13JajsYbJXUZsjtw,10.224.228.100:5060,INVITE]], state=Terminated Transaction
<101>12:16:20.100 Finer sipra [event.eventfilter] isFiltered(EventTypeID[name=javax.sip.message.Response.SUCCESS,vendor=net.java.slee,version=1.2])? false
<101>12:16:20.100 Finest sipra [] fireEvent: ah=SIPTransactionAH[client,RFC3261TransactionID[z9hG4bK3pejaO13JajsYbJXUZsjtw,10.224.228.100:5060,INVITE]], eventType=EventTypeID[name=javax.sip.message.Response.SUCCESS,vendor=net.java.slee,version=1.2], event=javax.sip.ResponseEvent[source=com.opencloud.ob.ocsipra.x@ccdb92b], address=null, flags=0
 
Forum Index » JAIN SLEE Discussions
Go to:   
Powered by JForum 2.1.8 © JForum Team