示例#1
0
    def __init__(self, sp_id, sp_secret):
        _version = Pack.get_unsigned_char_data(CMPP_VERSION)

        _sp_id = sp_id.encode('utf-8')
        _sp_secret = sp_secret.encode("utf-8")
        _time_str = utils.get_string_time()

        self.auth_source = utils.get_md5_digest(_sp_id + 9 * b'\x00' +
                                                _sp_secret +
                                                _time_str.encode("utf-8"))
        message_body = _sp_id + self.auth_source + _version + Pack. \
            get_unsigned_long_data(int(_time_str))
        RequestInstance.__init__(self, CMPP_CONNECT_REQ, message_body)
示例#2
0
    def __init__(self,
                 msg_src,
                 msg_content,
                 src_id='1064899103013',
                 dest_terminal_id=[
                     '8613900000000',
                 ],
                 pk_total=1,
                 pk_number=1,
                 registered_delivery=0,
                 msg_level=0,
                 service_id='MI',
                 fee_usertype=2,
                 fee_terminal_id="",
                 fee_terminal_type=0,
                 tp_pid=0,
                 tp_udhi=0,
                 msg_fmt=8,
                 feetype='01',
                 feecode='000000',
                 valid_time=17 * '\x00',
                 at_time=17 * '\x00',
                 dest_terminal_type=0,
                 linkid=''):

        if len(msg_content) >= 70:
            raise ValueError("msg_content more than 70 words")
        if len(dest_terminal_id) > 100:
            raise ValueError("single submit more than 100 phone numbers")

        _msg_id = 8 * b'\x00'
        _pk_total = Pack.get_unsigned_char_data(pk_total)
        _pk_number = Pack.get_unsigned_char_data(pk_number)
        _registered_delivery = Pack.get_unsigned_char_data(registered_delivery)
        _msg_level = Pack.get_unsigned_char_data(msg_level)
        _service_id = (service_id +
                       (10 - len(service_id)) * '\x00').encode('utf-8')
        _fee_usertype = Pack.get_unsigned_char_data(fee_usertype)
        _fee_terminal_id = (
            fee_terminal_id +
            (32 - len(fee_terminal_id)) * '\x00').encode('utf-8')
        _fee_terminal_type = Pack.get_unsigned_char_data(fee_terminal_type)
        _tp_pid = Pack.get_unsigned_char_data(tp_pid)
        _tp_udhi = Pack.get_unsigned_char_data(tp_udhi)
        _msg_fmt = Pack.get_unsigned_char_data(msg_fmt)
        _msg_src = msg_src.encode('utf-8')
        _feetype = feetype.encode('utf-8')
        _feecode = feecode.encode('utf-8')
        _valid_time = valid_time.encode('utf-8')
        _at_time = at_time.encode('utf-8')
        _src_id = (src_id + (21 - len(src_id)) * '\x00').encode('utf-8')
        _destusr_tl = Pack.get_unsigned_char_data(len(dest_terminal_id))
        _dest_terminal_id = b""
        for msisdn in dest_terminal_id:
            _dest_terminal_id += (msisdn +
                                  (32 - len(msisdn)) * '\x00').encode('utf-8')
        _dest_terminal_type = Pack.get_unsigned_char_data(dest_terminal_type)
        _msg_content = msg_content.encode('utf-16-be')
        _msg_length = Pack.get_unsigned_char_data(len(_msg_content))
        _linkid = (linkid + (20 - len(linkid)) * '\x00').encode('utf-8')
        _message_body = _msg_id + _pk_total + _pk_number + \
                        _registered_delivery + _msg_level + _service_id + \
                        _fee_usertype + _fee_terminal_id + _fee_terminal_type \
                        + _tp_pid + _tp_udhi + _msg_fmt + _msg_src + _feetype \
                        + _feecode + _valid_time + _at_time + _src_id + \
                        _destusr_tl + _dest_terminal_id + _dest_terminal_type \
                        + _msg_length + _msg_content + _linkid

        RequestInstance.__init__(self, CMPP_SUBMIT_REQ, _message_body)
示例#3
0
 def __init__(self, message):
     super(ActiveTestResponseInstance, self).__init__(message)
     self.message_body = Pack.get_unsigned_char_data(1)