sameera
sameera

Reputation: 31

Connecting to Asterisk Manager Interface using php Http Connection

I am trying to connect to my Asterisk Manager interface using Http Connection. This is not working for me. Anyone can help for me?

I need to login to Asteric manager interface using php. PHP file should be in another server.

manager.conf

[general]
enabled = yes
webenabled = yes
port = 5038
bindaddr = 0.0.0.0
displayconnects=no ;only effects 1.6+

[sameera]
secret = 123123
deny=0.0.0.0/0.0.0.0
permit=192.168.100.122/255.255.255.0
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
writetimeout = 5000

192.168.100.122 is my server ip address

login.php

<?php

    $timeout = 3;

    $socket = fsockopen("192.168.100.122",'12321',$errno,$errstr,$timeout);

    fputs($socket,"Action: Login\r\n");
    fputs($socket,"Username: sameera\r\n");
    fputs($socket,"Secret: 123123\r\n\r\n");

    $line="";
    $response="";

    while($line != "\r\n"){
            $line = fgetss($socket,128);
            $response .= $line;
    }


    echo $response;
?>

Upvotes: 2

Views: 2758

Answers (2)

Julio Gadioli Soares
Julio Gadioli Soares

Reputation: 336

Your port number is wrong, change 12321 to 5039
$socket = fsockopen("192.168.100.122",'5039',$errno,$errstr,$timeout);

<?php
$timeout = 3;
$socket = fsockopen("127.0.0.1",'5038',$errno,$errstr,$timeout);
fputs($socket,"Action: Login\r\n");
fputs($socket,"Username: julio\r\n");
fputs($socket,"Secret: 12345\r\n\r\n");
$line="";
$response="";
while($line != "\r\n"){
        $line = fgetss($socket,128);
        $response .= $line;
}

echo $response;

?>

Upvotes: 2

arheops
arheops

Reputation: 15247

Use phpagi/ami library,NOT re-create it again

Do debug of your code and ensure your firewall allow connect.

Upvotes: 0

Related Questions