Register active: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(→Script) |
||
| Line 14: | Line 14: | ||
exec("echo 'listregisters' | nc 127.0.0.1 5029",$retstr,$rt); | exec("echo 'listregisters' | nc 127.0.0.1 5029",$retstr,$rt); | ||
$data=json_decode($retstr[0]); | $data=json_decode($retstr[0]); | ||
if (!array_key_exists (" | if (!array_key_exists ("2",$data)) exit; #ensure some active register(s) in list | ||
$regkeys=$data[0]; | $regkeys=$data[0]; | ||
| Line 21: | Line 21: | ||
foreach ($reglist as $n=>$item) { | foreach ($reglist as $n=>$item) { | ||
if ($item[$sipcallerip_key] == $searchVal) var_dump($item); | if ($item[$sipcallerip_key] == $searchVal) var_dump($item); | ||
} | } | ||
?> | ?> | ||
Revision as of 14:51, 20 July 2020
How to list all active registrations from single IP using the API
Usage
Following register_active.php script will print detail about all ACTIVE registrations done from single IP using ```managerip=127.0.0.1``` and ```managerport=5029```
example for use:
active_register.php "192.168.43.212"
Script
<?php
if (!array_key_exists ("1",$argv)) exit; #ensure argument passed
$searchVal=ip2long($argv[1]);
exec("echo 'listregisters' | nc 127.0.0.1 5029",$retstr,$rt);
$data=json_decode($retstr[0]);
if (!array_key_exists ("2",$data)) exit; #ensure some active register(s) in list
$regkeys=$data[0];
$sipcallerip_key=(array_search("sipcallerip",$regkeys));
$reglist=$data; array_shift($reglist); array_shift($reglist); #skip two items at begin
foreach ($reglist as $n=>$item) {
if ($item[$sipcallerip_key] == $searchVal) var_dump($item);
}
?>