def main():
    global client, is_running
    client = smpplib.client.Client(CLIENT_IP, CLIENT_PORT)

    # Print Output and Start Handler
    client.set_message_sent_handler(
        lambda pdu: logging.info('sent {} {}\n'.format(pdu.sequence, pdu.message_id)))
    client.set_message_received_handler(handle_incoming_sms)

    client.connect()


    # Since bind was sucessful, we assume the show started.
    is_running = True
    t = Thread(target=process_sms_queue)
    t.start()

    while True:
        try:
            client.bind_transceiver(system_id=SYSTEM_ID, password=PASSWORD)
            print("LED_WALL: Successfully bound SMPP")
            client.listen()
            break
        except AttributeError:
            print("Binding to smpp service FAILED. Retrying.")
            continue
        except KeyboardInterrupt:
            break
        except Exception as e:
            logging.exception('Error during listen' + str(e))
    is_running = False
예제 #2
0
    def start(self):
        print("INSIDE start")
        global client
        global totMsg
        global pdu, data

        data = workerClass().getRadisData()
        workerClass().red.set("time", data["timeStamp"])
        key_pause = str(data["timeStamp"]) + "_pause"
        workerClass().red.set(key_pause, "0")
        key_stop = str(data["timeStamp"]) + "_stop"
        workerClass().red.set(key_stop, "0")
        print(data["ip"])
        client = workerClass().connectSmppClient(data["ip"],
                                                 (int)(data["portNumber"]))
        try:
            workerClass().sendBindTransceiver(client, data["systemId"],
                                              data["password"],
                                              data["systemType"])
        except Exception as e:
            print(e)

        sendingMessageThread = threading.Thread(
            target=workerClass().sendShortMessage, args=(client, data))
        sendingMessageThread.start()
        sendingMessageThread.join()

        client.set_message_sent_handler(workerClass().getResponse)

        recevingMessageThread = threading.Thread(target=client.listen())
        recevingMessageThread.start()

        recevingMessageThread.join()
예제 #3
0
파일: esme.py 프로젝트: Rhizomatica/rccn
def smpp_bind(client):
    while True:
        try:
            smpplib.client.logger.setLevel('INFO')
            client.set_message_received_handler(rx_deliver_sm)
            client.set_message_sent_handler(post_tx_message)
            #client.set_test_handler(my_test)
            #client.disconnect()
            client.connect()
            # Bind to OSMPP, out configured default-route in nitb.
            client.bind_transceiver(system_id="OSMPP", password="******")
            #client.test_handler(client, foo="bar")
            log.info('Listening....')
            client.listen([11])
        except smpplib.exceptions.ConnectionError as e:
            print ("Connection Error (%s)" % e)
            client.disconnect()
            time.sleep(1)
예제 #4
0
def smpp_bind(client):
    while True:
        try:
            smpplib.client.logger.setLevel('INFO')
            client.set_message_received_handler(rx_deliver_sm)
            client.set_message_sent_handler(post_tx_message)
            #client.set_test_handler(my_test)
            #client.disconnect()
            client.connect()
            # Bind to OSMPP, out configured default-route in nitb.
            client.bind_transceiver(system_id="OSMPP", password="******")
            #client.test_handler(client, foo="bar")
            log.info('Listening....')
            client.listen([11])
        except smpplib.exceptions.ConnectionError as e:
            print("Connection Error (%s)" % e)
            client.disconnect()
            time.sleep(1)
def bind_client():
    logging.basicConfig(level='DEBUG')
    client = smpplib.client.Client('10.99.101.246', 2775)

    def getPdu(pdu):
        print(pdu.short_message.decode('utf-8'))
        print(type(pdu))
        sql.save_des(randint(1, 1000000), "orginnn", pdu.short_message.decode('utf-8'),pdu.receipted_message_id)
        sys.stdout.write('delivered {}\n'.format(pdu.receipted_message_id))

    client.set_message_received_handler(
        lambda pdu: getPdu(pdu))
    client.set_message_sent_handler(
        lambda pdu: sys.stdout.write('sent {}\n'.format(pdu.receipted_message_id)))

    client.connect()
    client.bind_transceiver(system_id='rekik', password='******')
    client.listen()
    t = Thread(target=client.listen, args=())
    t.daemon = True
    t.start()
    t.join()
    return
예제 #6
0
    def handle(self, *args, **options):
        logging.basicConfig(level='DEBUG')
        try:
            op = options['op']
            s = settings.SMPP[op]
        except:
            logging.error("no such config")
            exit()

        timeout = 15
        if options['op'] == 'megafon':
            timeout = 60
        client = smpplib.client.Client(s['ip'], s['port'], timeout)

        client.set_message_received_handler(mkGetPdu(op))
        client.set_message_source(mkGenMessages(op, s['source']))
        client.connect()

        client.bind_transceiver(system_id=s['system_id'], password=s['password'])
        try:
            client.listen([11])
        except Exception as e:
            logging.error(e)
def main():
    global client, messages

    f = open(MSG_FILE)
    logging.info('Opened file: {0!s}'.format(MSG_FILE))
    for l in f:
        line = l.rstrip()
        splitted = line.split('|')
        time_range = splitted[0].split('-')
        one_line = [int(time_range[0]), int(time_range[1]), splitted[1]]
        messages.append(one_line)
    logging.info('file read and parsed')

    client = smpplib.client.Client(CLIENT_IP, CLIENT_PORT)

    # Print Output and Start Handler
    client.set_message_sent_handler(lambda pdu: logging.info(
        'sent {} {}\n'.format(pdu.sequence, pdu.message_id)))
    client.set_message_received_handler(handle_incoming_sms)

    client.connect()

    while True:
        try:
            client.bind_transceiver(system_id=SYSTEM_ID, password=PASSWORD)
            print("MSGOFTHEDAY: Successfully bound SMPP")
            client.listen()
            logging.error('listend failed')
            break
        except KeyboardInterrupt:
            break
        except AttributeError:
            logging.error('Bind failed starting again.')
            continue
        except Exception as e:
            logging.exception('Error during listen' + str(e))
def send_to_jasmin_smpp_server(sender, reciver, message):
    logging.basicConfig(level='DEBUG')

    parts, encoding_flag, msg_type_flag = smpplib.gsm.make_parts(message * 10)

    client = smpplib.client.Client('10.99.101.246', 2775)

    client.set_message_sent_handler(
        lambda pdu: sys.stdout.write('sent {} {}\n'.format(pdu.sequence, pdu.message_id)))

    client.set_message_received_handler(
        lambda pdu: sys.stdout.write('delivered {}\n'.format(pdu.receipted_message_id)))

    client.connect()
    client.bind_transceiver(system_id='rekik', password='******')

    for part in parts:
        pdu = client.send_message(
            source_addr_ton=smpplib.consts.SMPP_TON_INTL,
            # source_addr_npi=smpplib.consts.SMPP_NPI_ISDN,
            # Make sure it is a byte string, not unicode:
            source_addr=sender,

            dest_addr_ton=smpplib.consts.SMPP_TON_INTL,
            # dest_addr_npi=smpplib.consts.SMPP_NPI_ISDN,
            # Make sure thease two params are byte strings, not unicode:
            destination_addr=reciver,
            short_message=part,

            data_coding=encoding_flag,
            esm_class=msg_type_flag,
            registered_delivery=True,
        )
        print(pdu.sequence)
        t = Thread(target=client.listen())
        t.start()
예제 #9
0
#!/usr/bin/python3.5

import logging
import sys

import smpplib.gsm
import smpplib.client
import smpplib.consts

#if you want to know what's happening
#logging.basicConfig(level='DEBUG')

# Two parts, UCS2, SMS with UDH
parts, encoding_flag, msg_type_flag = smpplib.gsm.make_parts(u'Привет мир!\n' *
                                                             10)

client = smpplib.client.Client('172.16.29.10', 2775)

# Print when obtain message_id
client.set_message_sent_handler(lambda pdu: sys.stdout.write(
    'sent {} {}\n'.format(pdu.sequence, pdu.message_id)))
client.set_message_received_handler(lambda pdu: sys.stdout.write(
    'delivered {}\n'.format(pdu.receipted_message_id)))
client.connect()
client.bind_transceiver(system_id='asiatec', password='******')
client.listen()
예제 #10
0
파일: ussd_velcom.py 프로젝트: Artuom/oil

def send_info(pdu):
    log.info(pdu.__dict__)
    request_analyze_v.request(client, pdu)


while 1:
    try:
        client = connect()
        request_analyze_v.list_of_objects = {}
        if client:
            client.set_message_received_handler(
                lambda pdu: send_info(pdu))
            # thr = Thread(target=client.listen)
            # thr.start()
            client.listen()

            # except AttributeError:
                # time.sleep(20)
                # continue
        else:
            time.sleep(20)
            continue
    except Exception as err:
        log.info('Error in connection: {}'.format(err.message))
        time.sleep(20)
        continue


예제 #11
0
파일: smpp.py 프로젝트: Rhizomatica/rccn
def smpp_bind():
    client = smpplib.client.Client("127.0.0.1", 2775, 90)
    client.set_message_received_handler(rx_alert_notification)
    client.connect()
    client.bind_transceiver(system_id="NOTIFY", password="******")
    client.listen()
예제 #12
0
파일: smpp.py 프로젝트: infercom2/rccn
def smpp_bind():
    client = smpplib.client.Client("127.0.0.1", 2775, 90)
    client.set_message_received_handler(rx_alert_notification)
    client.connect()
    client.bind_transceiver(system_id="NOTIFY", password="******")
    client.listen()