John Todd
2003-Apr-19 16:25 UTC
[Asterisk-Users] Unexpected behavior of X100P and * in no-dialtone situations
I have some strange behavior happening with call flow when analog line errors are encountered. This may be due to the way that the X100P detects "busy" signals, or it may be something in the software. Could someone with more in-depth knowledge make a comment on the items below? My dialing logic says "dial local area code numbers out of the analog line, and if the analog line is broken, play a fastbusy signal. If the analog line is simply already occupied, push the call out of iconnect." I use macros to play the busy signals and dial through iconnect, but that is more or less irrelevant to the question I have. The snippet of extensions.conf: exten => _1503.,1,Dial(${DIALOUTANALOG}/${EXTEN:1}) exten => _1503.,2,Macro(fastbusy) exten => _1503.,102,Macro(nufone,${EXTEN},70) I disconnect the wire from the back of the X100P. This should (in my mind, at least) create an error condition. But here is the output on the console when I run that routine: . . . -- Executing Dial("SIP/2205-fae6", "Zap/1/5034547151") in new stack NOTICE[18449]: File app_dial.c, Line 476 (dial_exec): Unable to create channel of type 'Zap' == Everyone is busy at this time -- Executing Macro("SIP/2205-fae6", "dialiconnect|15034547151|70") in new stack -- Executing SetCallerID("SIP/2205-fae6", "14163727244") in new stack -- Executing SetCIDName("SIP/2205-fae6", "John Todd") in new stack -- Executing Dial("SIP/2205-fae6", "IAX/jtodd@nufone/15034547151|100|T") in new stack DEBUG[18449]: File app_dial.c, Line 365 (dial_exec): SIMPLE DIAL (NO URL) . . . As you can see, it does not think that the error condition is an error condition; Asterisk merely thinks the line is busy and the call is handed off to the +101 priority. Should Asterisk interpret a no-dialtone (in fact, no line) situation as "busy" and jump to the +101 priority, or should it jump to the next priority with an error? (In my case, it would play a fast busy or congestion tone.) The reason I ask is that I'd like to put some pre-recorded announcements in where I currently have "fastbusy" being called, and if I never get handed off there I can't distinguish between a busy signal and an error on the line, and thus the error messages become fairly useless. JT