Hi all, Hopefully, I just need a second set of eyes on this one, but I just can't figure out what I'm doing wrong. I'm using an agi script to dial a number, check the dial result, and act accordingly. The problem is that I'm not getting anything back from DIALSTATUS, or HANGUPCAUSE. Here is the relevant perl code: ============================================================== $main::agi->verbose("===================================================================================", 1); $main::agi->exec("dial", "sip/$t->{trunk}/$t->{prefix}$o->{number},240,KrTWX"); $result = $main::agi->get_variable("DIALSTATUS"); $cause = $main::agi->get_variable("HANGUPCAUSE"); $o->{DIALSTATUS} = $result; $o->{HANGUPCAUSE} = $cause; $main::agi->verbose("============================= The result of the last call was ($o->{DIALSTATUS}) ($o->{HANGUPCAUSE})", 1); $main::agi->verbose("===================================================================================", 1); ============================================================== Here is the relevant output with agi debug turned on: ============================================================== [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Tx >> 200 result=0 [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Rx << VERBOSE "===================================================================================" 1 [Apr 1 15:01:55] magic_switch.pl: =================================================================================== [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Tx >> 200 result=1 [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Rx << EXEC dial "sip/didlogic/15058457900,240,KrTWX" [Apr 1 15:01:55] -- AGI Script Executing Application: (dial) Options: (sip/didlogic/15058457900,240,KrTWX) [Apr 1 15:01:55] == Using SIP RTP TOS bits 24 [Apr 1 15:01:55] == Using SIP RTP CoS mark 5 [Apr 1 15:01:55] -- Called sip/didlogic/15058457900 [Apr 1 15:01:55] -- Got SIP response 603 "Declined" back from 178.63.143.236:5060 [Apr 1 15:01:55] -- SIP/didlogic-00007788 is busy [Apr 1 15:01:55] == Everyone is busy/congested at this time (1:1/0/0) [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Tx >> 200 result=0 [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Rx << GET VARIABLE DIALSTATUS [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Tx >> 200 result=1 (BUSY) [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Rx << GET VARIABLE HANGUPCAUSE [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Tx >> 200 result=1 (21) [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Rx << VERBOSE "============================= The result of the last call was () ()" 1 [Apr 1 15:01:55] magic_switch.pl: ============================= The result of the last call was () () [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Tx >> 200 result=1 [Apr 1 15:01:55] <SIP/CCEF485BC606-2-00007787>AGI Rx << VERBOSE "===================================================================================" 1 [Apr 1 15:01:55] magic_switch.pl: =================================================================================== ============================================================== So, the result of my previous AGI command was 200. Then I can clearly see that the result of this dial is BUSY/21, which I understand. But, my perl script isn't getting this value. I do the assignment to/from $result and $cause because I use those values later in the script, but have to pass them back to a global routine, as well. Can anyone see what I'm doing wrong? Mike Diehl. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20130401/b86afe55/attachment.htm>