Summary:ASTERISK-19765: CLONE - ACK is ignored upon call-pickup with sendrpid=yes
Reporter:dsf1284 (dsf1284)Labels:
Date Opened:2012-04-20 16:47:19Date Closed:2012-04-24 13:55:16
Versions:10.2.0 10.3.0 Frequency of
is a clone ofASTERISK-17405 [patch] ACK is ignored upon call-pickup with sendrpid=yes
Environment:Attachments:( 0) chan_sip.c.patch
( 1) debug.txt
( 2) graph.txt
Description:Clone from [ASTERISK-17405] because error also occurs in Asterisk 10.

Asterisk seems to ignore (can't match) ACK for 200+SDP message after SIP UPDATE with RPID is sent to phone.

1 - A calls to B
2 - C dials *8 to pickup call ringing on B
3 - Asterisk sends 200+SDP to C (which is confirmed by ACK)
4 - Asterisk sends CANCEL to B (which is confirmed by 487 request terminated)
5 - Asterisk sends 200+SDP and UPDATE to A
6 - now the call is connected and RTP stream is OK in both directions
7 - A confirms UPDATE with 200 message and then confirms 200+SDP with ACK
8 - however Asterisk keep sending 200+SDP
9 - until SIP timer expires and Asterisk hangup channel without notifying A (it only sends BYE to C)

Asterisk hangup channel with messages:
Retransmission timeout reached on transmission callid@ip for seqno 102 (Critical Response) -- See doc/sip-retransmit.txt.
Hanging up call callid@ip - no reply to our critical packet (see doc/sip-retransmit.txt).

In case RPID feature is disabled (sendrpid=no) then ACK is matched properly.


In the attached dump ACK is received at 2011-02-14 20:01:44.070
Comments:By: dsf1284 (dsf1284) 2012-04-22 14:10:33.987-0500

As far as I've discovered until now, it seems to be a Cisco related problem.
To speak in terms of the scenario above, if phone A is a Cisco phone (I tried with 7940, 7960 an 7970) and sendrpid is set to yes for that extension, the call drops after a few seconds. If phone A is not a Cisco phone, for example I used a Siemens Gigaset IP Phone which also requires RPID, everything is fine. Perhaps someone else could check that out too?

By: ibercom (ibercom) 2012-04-23 16:31:57.730-0500

I think that I have a related problem with this. My case is with AMI and Originate, asterisk 1.8.
When I originate a call from A to B, and B answers in 6 sec then the call is hangs up. I had no problem with asterisk 1.4. Regression ?
I use thomson and yealink phones.

By: ibercom (ibercom) 2012-04-24 03:28:13.419-0500

In case RPID feature is disabled (sendrpid=no), everything works correctly.

By: Matt Jordan (mjordan) 2012-04-24 13:55:16.548-0500

If its a bug in 1.8, it will also be fixed in 10 per standard merge process.