[Asterisk-Users] Manager API !!!!!!!!!

Malcolm Bader mbader at slauson.com
Thu Jan 13 10:22:40 MST 2005


Simon wrote:

>Hello all
>
>Has anyone had any success with the Manager API ?
>
>I am trying to check an extension status without too much luck I have
>the following
>
><?php
>    
>     
>      $fp = fsockopen("127.0.0.1", 5038, $errno, $errstr, 30);
>      if (!$fp) {
>         echo "$errstr ($errno)<br />\n";
>      } else {
>         $out = "Action: Login\r\n";
>         $out .= "UserName: simon\r\n";
>         $out .= "Secret: xxxxxx\r\n\r\n";
>     
>         fwrite($fp, $out);
>      $in = "Action: ExtensionState\r\n";
>      $in .= "Exten: 4367\r\n\r\n";
>      $in .= "Context: office\r\n\r\n";  
>      $in .= "ActionID: \r\n\r\n";
>      $in .= "Action: Logoff\r\n\r\n";
>              fwrite($fp,$in);
>         while (!feof($fp)) {
>             echo fgets($fp, 128);
>         }
>         fclose($fp);
>      }
>     
>      ?>
>
>The first prob is it ignores the Context and just goes to default.
>The second is anyone know what ActionID is ?
>
>Best Regards
>Simon
>
>
>
>----------------------------------------------- 
>This message has been scanned for viruses and
>dangerous content by OrbitalNet, and is
>believed to be clean. If you have any concerns
>with this message please email us,
>support at orbital.net / http://www.orbital.net
>-----------------------------------------------
>
>_______________________________________________
>Asterisk-Users mailing list
>Asterisk-Users at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-users
>To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
>  
>
Here is the php code that works for me:
I use this to get a list of extensions that are in use.

$socket = fsockopen("127.0.0.1","5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: xxxxxxx\r\n");
fputs($socket, "Secret: xxxxxxx\r\n\r\n");
fputs($socket, "Action: command\r\n");
fputs($socket, "Command: show channels\r\n\r\n");
fputs($socket, "Action: Logoff\r\n\r\n");

while (!feof($socket)) {
$wrets = fgets($socket, 4096);
$wrets = trim($wrets);
if(substr($wrets,0,3)=="SIP"){
$m_start = strpos($wrets,'/');
$m_end = strpos($wrets,'-');
$m_ext = substr($wrets,$m_start+1,($m_end-$m_start)-1);

//do something here with the extension number

}
if(substr($wrets,0,4)=="IAX2"){
$m_start = strpos($wrets,'/');
$m_end = strpos($wrets,'@');
$m_ext = substr($wrets,$m_start+1,($m_end-$m_start)-1);

//do something here with the extension number

}
}

fclose($socket);


I think  ActionID is just an ID number for your own use.

Malcolm



More information about the asterisk-users mailing list