Summary:ASTERISK-04579: Asterisk unilaterally CANCELs a Dial
Reporter:ennuyeux72 (ennuyeux72)Labels:
Date Opened:2005-07-13 10:17:02Date Closed:2011-06-07 14:10:24
Versions:Frequency of
Environment:Attachments:( 0) trace1.txt
Description:Call comes into asterisk over an E1, some scripts are run in asterisk and then asterisk dials out via SIP to a PSTN gateway. The dialled number rings for 4 rings and then asterisk sends a CANCEL message to the pstn gateway. I don't know why asterisk sends the CANCEL message as I don't initiate it.

In the CLI I get the following around the time of the event:
Jul 13 15:55:54 WARNING[1302]: app_dial.c:509 wait_for_answer: Unable to forward frame
 == Spawn extension (prepaid-dialtone, s, 9) exited non-zero on 'Zap/94-1'
   -- Executing DeadAGI("Zap/94-1", "somescript.agi|8001  447932071995 67.441 0.1 SIP/blabla  CANCEL") in new stack


Dell 1750 Server
Redhat 9
kernel 2.4.25
Comments:By: Michael Jerris (mikej) 2005-07-13 10:27:26

can we please see config that can reporduce this along with copies of the scripts you are running or simplified scripts to reporduce please.

By: ennuyeux72 (ennuyeux72) 2005-07-14 04:50:36

Here is the line from extensions.conf. I removed all the scripts and still got the same behaviour. So to summarise the call comes in through an E1 connection and goes straight out through SIP.

exten => somenumber,1,Dial(SIP/apeerentity/someothernumber|100)

By: dbruce (dbruce) 2005-07-16 16:08:47

Most likely, the number you are dialing is to a system that will cancel the dial attempt after a certain period of no answer (such as a cell phone operator, or a telco forward to an unconfigured voicemail).

The CANCEL dialstatus is not always generated by the dial application. It may be generated by the terminating system, and interpreted as a CANCEl. You will need to turn on SIP debugging for the peer entity, and capture a log of what is being sent and received.

By: Russell Bryant (russell) 2005-07-17 19:07:17

did you mean Dial(SIP/someothernumber@apeerentry|100) ?

By: Olle Johansson (oej) 2005-07-18 03:14:59

For SIP errors like this, we ALWAYS need SIP debug output with verbose=4 and debug=4 (see bug guidelines).

By: Olle Johansson (oej) 2005-07-20 12:39:35

Reminder: We need SIP debug output.

By: Russell Bryant (russell) 2005-07-20 12:44:50

and 'pri debug' as well, please.

By: Michael Jerris (mikej) 2005-07-20 13:14:09

and verbose!

By: Olle Johansson (oej) 2005-07-23 05:07:46

REMINDER: We will have to close the bug report if we do not get any more information from you soon.

By: Russell Bryant (russell) 2005-07-25 16:07:50

closing this bug due to a lack of response from the original bug poster

By: ennuyeux72 (ennuyeux72) 2005-07-26 06:01:20

Adding trace file as requested. Sorry about delay.

By: Olle Johansson (oej) 2005-07-26 06:11:10

m=audio 19078 RTP/AVP 8
c=IN IP4
a=rtpmap:8 PCMA/8000

14 headers, 8 lines
VOIP - 2005-07-26 09:20:01> Found RTP audio format 8
Peer audio RTP is at port
Found description format PCMA
VOIP - 2005-07-26 09:20:01> Capabilities: us - 0x8 (alaw), peer - audio=0x8 (alaw)/video=0x0 (nothing), combined - 0x8 (alaw)
Non-codec capabilities: us - 0x1 (g723), peer - 0x0 (nothing), combined - 0x0 (nothing)

Combined - nothing!

No codecs are available for us to handle the session progress. Make sure you have configured the same set of codecs on both ends. Closing this as a configuration issue unless you find something else.

Next time you add a SIP debug, please set verbose to 4 and debug to 4 in order to get a full debug output so we see what's going on inside your asterisk. Thank you.

By: ennuyeux72 (ennuyeux72) 2005-07-26 07:09:41

1. IF the call is answered before 4 rings then a conversation proceeds fine. This makes me think it is NOT a codec issue. Capabilities say alaw.

2. The CANCEL problem only occurs if the destination does NOT answer the call.

What should I don next?

By: Andrew Kohlsmith (akohlsmith) 2005-07-26 07:17:37

Dump the call into something like this:

exten => somenumber,1,NoOp(Entering dialplan at ${EXTEN})
exten => somenumber,2,Wait(30)
exten => somenumber,3,NoOp(After Wait at ${EXTEN}, Asterisk hanging up)
exten => somenumber,4,Hangup

Does the dialplan complete or does the telco drop your call before the 30 seconds are up?

By: Olle Johansson (oej) 2005-07-26 07:19:53

...add a full SIP debug per our earlier requests... Set verbose=4 and debug=4

By: Olle Johansson (oej) 2005-07-26 07:52:39

Also, add a COMPLETE sip debug as requested earlier, with set verbose=4 and debug=4 and PRI debug on for your span.

By: Mark Spencer (markster) 2005-08-05 17:35:01

This is a technical support issue.  Please pursue through Digium technical support.  Thanks!