[OpenSIPS-Users] Any official instructions how to use the MI commands?
Xi Liu
lxvonion at gmail.com
Tue Apr 17 22:31:14 CEST 2012
Hi All,
I'm trying to find the official documentation about how to use MI interface with named pipe, while I searched all over the web but can't find any...
Though I found an example in the list and able to repeat it, but still have two questions,
1, How can I pass parameters along with the command? Currently I can run those functions that does not require parameters, e.g. address_dump, uptime.
But I would like to use ul_add, ul_show_contact, etc.
2, I wrote a perl code which expected to read out put from opensips which for some reason never worked. When I wrote the perl code I took /example/web_MI/*.php as examples..
Any help would be appreciated!
================
Example I found,
mkfifo /tmp/my_fifo
cat /tmp/my_fifo&
echo -e ":address_dump:my_fifo\n\n" > /tmp/opensips_fifo
*returns*
200 OK
48 <1.2.3.4,2, 0, 0, NULL, NULL>
** cat process ends
================
Perl code I wrote,
#!/usr/bin/perl
use strict;
# Initial values
my $os_fifo="/tmp/opensips_fifo";
# Open OS fifo and wait for cmd
open OSFIFO, $os_fifo or die "Can't open opensips fifo: ".$os_fifo;
# open reply fifo
my $fifo_reply_filename = "fifo_".int(rand(100));
my $fifo_path = "/tmp/".$fifo_reply_filename;
system("mkfifo -m 666 ".$fifo_path);
# fifo cmd
my $fifo_cmd = ":uptime:".$fifo_path."\n\n";
# execute fifo cmd
print OSFIFO $fifo_cmd;
close OSFIFO;
# Read output
open FIFO, $fifo_path or die "Can't open fifo: ".$fifo_path;
my $line_num = 1;
while (<FIFO>) {
print "line $line_num: ".$_;
$line_num++;
}
close FIFO;
unlink $fifo_path;
================
Thanks,
Xi
More information about the Users
mailing list