Asterisk Sends CANCEL To The Wrong Destination

Home » Asterisk Users » Asterisk Sends CANCEL To The Wrong Destination
Asterisk Users 1 Comment

Hi,

I got a weird behaviour in asterisk (original found in 1.8 but it is still the same in 11.15.0). I have three phones communicating via OpenSIPs with asterisk. Phone A dials 100 and asterisk calls SIP/phone-b. Phone B accepts the call. The User on Phone B places the call on hold, dials 200 and, while hearing the dial tone of ringing Phone C, places the handset on hook. Phone B sends a REFER, so that Phone A is connected with the ringing Phone C. Asterisk sends an UPDATE
to Phone-C to update the connected line information. Now the user on Phone B realized that User B is not available. He presses the blinking LED of BLF to get the Call back. A and B are now connected again. But Phone C is still ringing. Asterisk sends the CANCEL to terminate the call to phone C not to the proxy (where the INVITE comes from), but directly to the phone. The phone ignores this CANCEL, as it does not belong to a call and so the phone keeps on ringing.

If I modify the configuration, so that there is no UPDATE for the connected line information, the CANCEL is send via proxy to the phone and all is well.

In the following trace asterisk is at 192.168.10.70:25060, the proxy is at 192.168.10.5060. The phones are at 192.168.10.201 (Phone-A),
192.168.10.124 (Phone-B) and 192.168.10.102 (Phone-C).

Shortened SIP-Trace is as follows (starting with the REFER):

Call between A and B is on hold, B has call to C in ringing state. Transfer, so that A has the ringing call to C

REFER is send from Phone B to proxy:

U 192.168.10.124:5060 -> 192.168.10.75:5060
REFER sip:180@192.168.10.75:25060 SIP/2.0. Via: SIP/2.0/UDP
192.168.10.124:5060;branch=z9hG4bK_7C2F8008F5C1_T5B47A547;rport. From: ;tag|2F8008F5C1_T1484940980. To: “PhoneA” ;tag=as18f69e58. Call-ID: 452af6610540b7cf0d4c49f372d46779@192.168.10.75. CSeq: 2 REFER. Refer-To:

One thought on - Asterisk Sends CANCEL To The Wrong Destination