@ -25,15 +25,24 @@ def hexdump(src, length=8):
server_socket = socket . socket ( socket . AF_INET , socket . SOCK_DGRAM )
server_socket . bind ( ( " 127.0.0.1 " , MGCP_CALLAGENT_PORT ) )
server_socket . setblocking ( 0 )
server_socket . setblocking ( 1 )
def send_receive ( packet ) :
last_ci = 1
def send_and_receive ( packet ) :
global last_ci
server_socket . sendto ( packet , ( " 127.0.0.1 " , MGCP_GATEWAY_PORT ) )
try :
data , addr = server_socket . recvfrom ( 4096 )
# attempt to store the CI of the response
list = data . split ( " \n " )
for item in list :
if item . startswith ( " I: " ) :
last_ci = int ( item [ 3 : ] )
print hexdump ( data ) , addr
except socket . error :
except socket . error , e :
print e
pass
def generate_tid ( ) :
@ -42,13 +51,10 @@ def generate_tid():
i = 1
while True :
send_receive ( rsip_resp )
send_receive ( audit_packet % generate_tid ( ) )
send_receive ( crcx_packet % generate_tid ( ) )
send_receive ( mdcx_packet % ( generate_tid ( ) , i ) )
send_receive ( dlcx_packet % ( generate_tid ( ) , i ) )
i = i + 1
send_and_receive ( audit_packet % generate_tid ( ) )
send_and_receive ( crcx_packet % generate_tid ( ) )
send_and_receive ( mdcx_packet % ( generate_tid ( ) , last_ci ) )
send_and_receive ( dlcx_packet % ( generate_tid ( ) , last_ci ) )
time . sleep ( 3 )