Summary:ASTERISK-20780: Asterisk responds to SIP CANCEL with 481 Call/Transaction Does Not Exist
Reporter:mitja (micho)Labels:
Date Opened:2012-12-08 12:53:03.000-0600Date Closed:2013-02-04 14:04:17.000-0600
Versions: Frequency of
Environment:Attachments:( 0) extensions.conf
( 1) scenario1.pcapng
( 2) Scenario1.txt
( 3) Scenario2.txt
( 4) senario1
First scenario:
I was testing sip trunk on asterisk 1.8, when incoming call is initiated and outside user then hangup without answering, phone will not stop ringing. The provider send me a Cancel request (Request-Line: CANCEL sip:77XXXXXX@ SIP/2.0) but then asterisk give me " Status-Line: SIP/2.0 481 Call/Transaction Does Not Exist" error. In these case we have to restart asterisk to free a channel. In earlier versions of asterisk  (1.4,1.6) with same settins these problem never occurred, but only in asterisk 1.8.

Second scenario:
When incoming call is initiated and enduser answers the call, than all other calls hangup normaly, until asterisk is reloaded or sip trunk is reregistered.

I searched the internet for a few days now but I did not found nothing, I did try some patches for reinvite issues but nothing worked.

Thanks for your answer
bye, Mitja
Comments:By: Rusty Newton (rnewton) 2012-12-13 18:59:34.740-0600


We need additional information to look into this issue.

Please provide the extensions.conf code or dialplan in use for the inbound call and a full log captured during the entire call that demonstrates the issue. https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information
Be sure that VERBOSE and DEBUG are set to at least level 5.

We'll need a SIP packet capture (tcpdump or wireshark) of the same call, so that we can correlate it along with what is in the full log.

Please attach the files to the issue using 'More Actions > Attach Files'

By: mitja (micho) 2012-12-15 15:00:37.484-0600


I attached a wireshark and debug files, one inbound call was made after hangup phone was still ringing. In the end I was just answered and replace the handset to free a channel.

This is a fresh install of elastix distro, with asterisk

By: Rusty Newton (rnewton) 2013-01-10 09:08:50.241-0600

I looked over the RFC 3261 and saw that
"The following procedures are used to construct a CANCEL request.  The
  Request-URI, Call-ID, To, the numeric part of CSeq, and From header
  fields in the CANCEL request MUST be identical to those in the
  request being cancelled, including tags. ..."

All of those headers appear identical between the INVITE and associated CANCEL in your capture and debug, except the "To:" header on the CANCEL has a "tag=as790acac3", whereas the INVITE's "To:" does not.

In this case it looks like Asterisk is responding correctly to your provider sending a malformed CANCEL request.

I'd recommend contacting your provider and seeing if they can fix the issue with their INVITE and CANCEL's not matching up.

By: Walter Doekes (wdoekes) 2013-01-18 05:02:32.643-0600

mitja: try setting pedantic=no in sip.conf.

By: Rusty Newton (rnewton) 2013-02-04 14:04:58.599-0600

Closed this as this doesn't appear to be a bug in Asterisk. See comments above and Walter's suggestion for a work-around to the provider's problem.