Last active
December 21, 2015 18:17
-
-
Save sboily/56566e0def91c9ce1965 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
from xivo_amid_client import Client as Amid | |
from xivo_auth_client import Client as Auth | |
from xivo_confd_client import Client as Confd | |
username="sylvain" | |
password="sylvain" | |
auth = Auth('127.0.0.1', username=username, password=password, verify_certificate=False) | |
ami = Amid('127.0.0.1', port=9491, version='1.0', timeout=3, verify_certificate=False) | |
token_data = auth.token.new('xivo_ws', expiration=10) | |
token = token_data['token'] | |
confd = Confd('127.0.0.1', port=9486, verify_certificate=False, token=token) | |
peers = ami.action('SIPpeerstatus', {}, token=token) | |
for peer in peers: | |
if peer.get('Event') == "PeerStatus": | |
status = peer.get('PeerStatus') | |
peer_name = peer.get('Peer') | |
peer_username = peer_name.split('/')[1] | |
time = peer.get('Time', 0) | |
ip = ami.action('SIPshowpeer', {'peer': "{}".format(peer_username)}, token=token)[0]['Address-IP'] | |
sip_id = confd.endpoints_sip.list(search=peer_username)['items'][0]['id'] | |
user = None | |
try: | |
line_id = confd.endpoints_sip.relations(sip_id).get_line()['line_id'] | |
user_id = confd.lines.relations(line_id).list_users()['items'][0]['user_id'] | |
user = confd.users.get(user_id) | |
except: | |
pass | |
if user: | |
user = u"{} {}".format(user['firstname'], user['lastname']) | |
print u"{} -> Peer {} is {} : {}ms {}".format(user, peer_name, status, time, ip) | |
auth.token.revoke(token) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment