Jeremy Lichfield
2005-Jan-21 11:51 UTC
[Asterisk-Users] Manager API on gives the DIALSTATUS of the first picked up channel?
Hi All! Let me explain the problem. When using the Originate? command from the manager api, the dialstatus variable returns results? for whichever phone picks up first, and in this case it is the IAX/2? connection. It doesn't matter if Zap/G2/XXXXXXX is set as the channel,? or an extension either. What I am ultimately trying to do is get the? dialstatus of the Zap/X/XXXXXXX channel, i.e., BUSY, ANSWER,? NOANSWER........ Is there anyway to specify which channel you want to? monitor with dialstatus? Or does anyone know a work around? I'm running Asterisk CVS-v1-0-12/20/04. I'm using PHP with Manager API Here is the code: #################################################################### # Make call #################################################################### $socket = fsockopen($ask_db,"5038", $errno, $errstr, $timeout); if (!$socket) { echo "$errstr ($errno)<br /\n"; } else { fputs($socket, "Action: Login\r\n"); fputs($socket, "UserName: $ask_us\r\n"); fputs($socket, "Secret: $ask_pd\r\n\r\n"); fputs($socket, "Action: Originate\r\n"); // Note I have tried both using the remote SIP user throught IAX2 and Originating the call using the Zap channel fputs($socket, "Channel: IAX2/askdaqe:a\$teri\$k@teenlighthouse/$user_ext@auto_answer\r\n"); ? //This connects to a remote SIP user fputs($socket, "Context: askdaqe\r\n"); fputs($socket, "Exten: 100\r\n"); fputs($socket, "Priority: 1\r\n"); fputs($socket, "Variable: UID=$uid|USER_EXT=$user_ext|COMPANY=teenlighthouse|USER_PHONE=$ask_phone \r\n"); fputs($socket, "Callerid: DAQE Dialer\r\n\r\n"); // DAQE is the name of my CRM fclose($socket);u fputs($socket, "Action: Logoff\r\n\r\n"); while (!feof($socket)) { $content = fread($socket, 8192); echo $content."<br\n"; } fclose($socket); Here is my Dial Plan: [askdaqe] ; DAQE Dialing Out exten =100,1,Playback(vm-dialout) exten =100,2,Dial(Zap/g2/1${USER_PHONE},10,tT) exten =100,3,Goto(s-${DIALSTATUS},1) exten =s-CANCEL,1,NoOp(Cancell) exten =s-ANSWER,1,NoOp(Test Were In) exten =s-ANSWER,2,Goto(h,1) exten =s-NOANSWER,1,NoOp(NOANSWER) exten =s-BUSY,1,NoOp(BUSY) exten =s-CONGESTION,1,NoOp(CONGESTION) exten =s-CHANUNAVAIL,1,NoOp(CHANUNAVAIL) ; When DAQE Dialer Hangs Up exten =h,1,DeadAGI(end_call.php) exten =h,2,NoOp(Hang Up Dail Status ${DIALSTATUS}) Is there any patches in the latest CVS-HEAD? Also do you know if having a PRI and getting the HANGUPCAUSE might solve the problem? Thanking you in advance, Jeremy