On 9/6/18 1:05 AM, karthik sasupalli wrote:
Hi All,

I have a scenario, where the REFER to an INVITE is received before the ACK.

There is a Desk Phone and a Call server. The call is initiated by the Call
server.

Desk Phone <-- INVITE <-- Call Server
Desk Phone --> 180 Ringing --> Call Server
Desk Phone --> 200 OK/SDP --> Call Server
*Desk Phone <-- REFER <-- Call Server*
Desk Phone <-- ACK/SDP <-- Call Server

The dialogue becomes confirmed when ACK is received. But in this case, the
REFER is received before ACK and hence it is received even before the
dialogue is confirmed.

If, in place of REFER, a RE-INVITE is received (before ACK), then the Desk
Phone should send 491 Request Pending, informing the server that a previous
request is still being processed.

According to RFC3515, the server should retry REFER (in case the response
is any one of the below)

Retry-After 404,413,480,486 o
Retry-After 500,503 o
Retry-After 600,603 o

I have changed the code in Desk Phone, so that, when a REFER is received
before the ACK is received, the Desk Phone responds with 603 Declined.

The server should understand this 603 response and try to resend REFER
after some time so that REFER is received after ACK.

Is my approach okay in terms of RFC compatibility and implementation point
of view?

Please give your views.

Please provide more detail. In particular, the content of the key messages, and what the call flow is intending to accomplish.

        Thanks,
        Paul
_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to