Hi,<br><br>I have written a C code which would let me connect to the Asterisk Manager Interface. The code compiles successfully but on running the code I get unauthorized login shown in the Asterisk command line console.<br>
<br>Here is my C code:<br><br>#include&lt;stdio.h&gt;<br>#include&lt;netdb.h&gt;<br>#include&lt;unistd.h&gt;<br>#include&lt;string.h&gt;<br>#include&lt;arpa/inet.h&gt;<br>#include&lt;sys/types.h&gt;<br>#include&lt;sys/socket.h&gt;<br>
#include&lt;netinet/in.h&gt;<br><br>#define MAX_MSG_SIZE 512<br>#define SERVER_ADDRESS &quot;<a href="http://192.168.0.150">192.168.0.150</a>&quot;<br>#define CLIENT_ADDRESS &quot;<a href="http://192.168.0.150">192.168.0.150</a>&quot;<br>
#define SERVER_PORT 5038<br>#define&nbsp;&nbsp;&nbsp; CLIENT_PORT 5100<br><br>int main()<br>{<br>&nbsp;&nbsp;&nbsp; int sd;<br>&nbsp;&nbsp;&nbsp; struct sockaddr_in serveraddr, clientaddr;<br>&nbsp;&nbsp;&nbsp; char msg[MAX_MSG_SIZE];<br><br>&nbsp;&nbsp;&nbsp; bzero((char *) &amp;serveraddr, sizeof(serveraddr));<br>
&nbsp;&nbsp;&nbsp; serveraddr.sin_family = AF_INET;<br>&nbsp;&nbsp;&nbsp; serveraddr.sin_addr.s_addr = inet_addr(SERVER_ADDRESS);<br>&nbsp;&nbsp;&nbsp; serveraddr.sin_port = htons(SERVER_PORT);<br><br>&nbsp;&nbsp;&nbsp; bzero((char *) &amp;clientaddr, sizeof(clientaddr));<br>&nbsp;&nbsp;&nbsp; clientaddr.sin_family = AF_INET;<br>
&nbsp;&nbsp;&nbsp; clientaddr.sin_addr.s_addr = INADDR_ANY;<br>&nbsp;&nbsp;&nbsp; clientaddr.sin_port = htons(CLIENT_PORT);<br><br>&nbsp;&nbsp;&nbsp; sd = socket(AF_INET, SOCK_STREAM, 0);<br>&nbsp;&nbsp;&nbsp; printf(&quot;\nCreated socket ...&quot;);<br><br>&nbsp;&nbsp;&nbsp; bind(sd,(struct sockaddr *) &amp;clientaddr, sizeof(clientaddr));<br>
&nbsp;&nbsp;&nbsp; printf(&quot;\nBinding successful ...&quot;);<br><br>&nbsp;&nbsp;&nbsp; connect(sd,(struct sockaddr *) &amp;serveraddr, sizeof(serveraddr));<br>&nbsp;&nbsp;&nbsp; printf(&quot;\nConnected ...&quot;);<br><br>&nbsp;&nbsp;&nbsp; *msg=(char)&quot;Action: Login\r\nUsername: admin\r\nSecret: admin\r\nActionID: 1\r\n\r\n&quot;;<br>
&nbsp;&nbsp;&nbsp; send(sd,msg,strlen(msg)+1,0);<br>&nbsp;&nbsp;&nbsp; close(sd);<br><br>&nbsp;&nbsp;&nbsp; return(1);<br>}<br><br><br><br>Please correct me where I am going wrong. In manager.conf the username and secret has been defined.<br>Thank you.<br>