cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
173
Views
0
Helpful
1
Replies

Looking for way to monitor SIP trunk on CUBE using Pyhton

dshumake
Level 4
Level 4

looking for sample script to monitor SIP trunks and calls on my SBC

showing active or busyout status and current call count

1 Reply 1

check this sample, maybe help >>

import paramiko
import re

CUBE_HOST = '192.0.2.1'
USERNAME = 'your_username'
PASSWORD = 'your_password'

def get_command_output(ssh, command):
stdin, stdout, stderr = ssh.exec_command(command)
return stdout.read().decode()

def parse_call_summary(output):
match = re.search(r'Total call-legs: (\d+)', output)
return int(match.group(1)) if match else 0

def parse_sip_status(output):
# Basic busyout check
return "Busy-out" in output or "OutOfService" in output

def main():
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

try:
ssh.connect(CUBE_HOST, username=USERNAME, password=PASSWORD)

print("[+] Connected to CUBE")

# Get active calls
call_summary = get_command_output(ssh, 'show voice call summary')
active_calls = parse_call_summary(call_summary)
print(f"Active Calls: {active_calls}")

# Get SIP status
sip_status_output = get_command_output(ssh, 'show sip-ua status')
is_busyout = parse_sip_status(sip_status_output)
print(f"SIP Trunk Status: {'Busyout' if is_busyout else 'Active'}")

except Exception as e:
print(f"[-] Error: {e}")
finally:
ssh.close()

if __name__ == '__main__':
main()


(Rate by "Helpful" or "Accept") (محمدرضا هادی_ایران) (Email: morez.hadi@gmail.com)