Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # telnet program example
- import socket, select, string, sys
- import xml.etree.ElementTree as ET
- import requests
- import time
- def prompt() :
- sys.stdout.write('<You> ')
- sys.stdout.flush()
- def sendSMS(msisdn, msg):
- responseMeg = "<usareq NODE=\'*\' TRANSFORM=\'SUBMIT_SM\' USERNAME=\'*\' PASSWORD=\'*\'><command><submit_sm><a_number>*</a_number><b_number>" + msisdn + "</b_number><service_type></service_type><message>"+ msg +"</message><registered_delivery></registered_delivery></submit_sm></command></usareq>"
- #sys.stdout.write(responseMeg)
- r = requests.post('http://*/*/client.jsp', data = {'command': responseMeg} )
- #sys.stdout.write(r.text)
- def sendUSSD(sessionId, msisdn, msg, msgType):
- responseMeg = "<usareq NODE=\'*\' TRANSFORM=\'USSD\' USERNAME=\'*\' PASSWORD=\'*\' VERBOSITY=\'2\'><command><ussd_response><sessionid>"+ sessionId+"</sessionid><type>"+msgType +"</type><msisdn>"+ msisdn+"</msisdn><message>"+ msg+"</message></ussd_response></command></usareq>"
- #sys.stdout.write(responseMeg)
- r = requests.post('http://*/*/client.jsp', data = {'command':responseMeg} )
- #sys.stdout.write(r.text)
- #main function
- #if __name__ == "__main__":
- def StartUSSDServer():
- #localtime = time.asctime(time.localtime(time.time()))
- #sendSMS('27810378419', "USSD Initiliazed on - " + localtime)
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- s.setblocking(0)
- s.settimeout(20)
- # connect to remote host
- try :
- s.connect(('*', *))
- except :
- print 'Unable to connect'
- #sys.exit()
- #localtime = time.asctime(time.localtime(time.time()))
- #sendSMS('27810378419', "Connected to remote host - " + localtime)
- s.send("<usereq USERNAME=\'*\' PASSWORD =\'*\' VERBOSITY=\'0\'><subscribe NODE=\'.*\' TRANSFORM=\'USSD\' PATTERN=\'\\*\'/></usereq>END")
- localtime = time.asctime(time.localtime(time.time()))
- sendSMS('27810378419', "USSD Started on - " + localtime)
- #prompt()
- while 1:
- socket_list = [s]
- # Get the list sockets which are readable
- read_sockets, write_sockets, error_sockets = select.select(socket_list , [], [])
- for sock in read_sockets:
- #incoming message from remote server
- if sock == s:
- data = sock.recv(4096)
- if not data :
- print '\nDisconnected from chat server'
- #sys.exit()
- else :
- #print data
- root = ET.fromstring(data)
- for datablock in root.findall('datablock'):
- sessionid = datablock.find('sessionid').text
- msisdn = datablock.find('msisdn').text
- rootMsg = datablock.find('svcCode').text
- requestMsg = datablock.find('message').text.replace('*130*826*','').replace('#','')
- msgType = datablock.find('type').text
- localtime = time.asctime(time.localtime(time.time()))
- #print localtime, sessionid, msisdn, rootMsg, requestMsg, msgType
- sendUSSD(sessionid, msisdn, localtime + ' - ' + requestMsg, 'USER_REQUEST' )
- #prompt()
- #user entered a message
- else :
- msg = sys.stdin.readline()
- #prompt()
- def StartUSSDServerTest():
- localtime = time.asctime(time.localtime(time.time()))
- sendSMS('27810378419', "USSD Started on " + localtime)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement