1. GSM
1.1. SmppEncoding
1.1.1. IA5
1.1.2. ISO10646
1.2. EsmClassValues
1.2.1. GSMFEAT_NONE
1.2.2. GSMFEAT_UDHI
1.3. GsmEncodingLimits
1.3.1. conf
1.3.1.1. EIGHTBIT_SIZE
1.3.1.2. EIGHTBIT_MP_SIZE
1.3.1.3. UCS2_SIZE
1.3.1.4. UCS2_MP_SIZE
1.3.2. _map
1.3.2.1. SmppEncoding.IA5: ()
1.3.2.2. SmppEncoding.ISO10646: ()
1.3.3. get()
1.4. GsmParseResult
1.5. GsmParseResultMediator
1.5.1. get_result() "encodingfxn()"
1.5.2. _make_parts_encoded()
1.5.3. _get_chunks()
1.6. ShortMessageParser
1.6.1. _map
1.6.1.1. SmppEncoding.IA5: GsmParseResultMediator()
1.6.1.2. SmppEncoding.ISO10646: GsmParseResultMediator()
1.6.2. gsm_parse_result()
1.6.2.1. _map[SmppEncoding.IA5].get_result(
1.6.2.2. _map[SmppEncoding.ISO10646].get_result()
2. pdu
2.1. mandatory_parameter_lists = {}
2.1.1. bind_transmitter
2.1.2. bind_transmitter_resp
2.1.3. bind_receiver
2.1.4. bind_receiver_resp
2.1.5. bind_transceiver
2.1.6. outbind
2.1.7. unbind
2.1.8. unbind_resp
2.1.9. generic_nack
2.1.10. submit_sm
2.1.11. submit_sm_resp
2.1.12. submit_multi
2.1.13. dest_address
2.1.14. sme_dest_address
2.1.15. distribution_list
2.1.16. submit_multi_resp
2.1.17. unsuccess_sme
2.1.18. deliver_sm
2.1.19. deliver_sm_resp
2.1.20. data_sm
2.1.21. data_sm_resp
2.1.22. query_sm
2.1.23. query_sm_resp
2.1.24. cancel_sm
2.1.25. cancel_sm_resp
2.1.26. replace_sm
2.1.27. replace_sm_resp
2.1.28. enquire_link
2.1.29. enquire_link_resp
2.1.30. alert_notification
2.2. mandatory_parameter_list_by_command_name()
2.3. command_id_by_hex = {}
2.4. command_id_name_by_hex()
2.5. command_id_by_name = ´{}
2.6. command_id_hex_by_name()
2.7. command_status_by_hex = {}
2.8. command_status_name_by_hex()
2.9. command_status_by_name = {}
2.10. command_status_hex_by_name()
2.11. maps['addr_ton_by_name / _by_hex'] Type of Number (TON)
2.11.1. unknown
2.11.2. international
2.11.3. national
2.11.4. network_specific
2.11.5. subscriber_number
2.11.6. alphanumeric
2.11.7. abbreviated
2.12. maps['addr_npi_by_name / _by_hex'] Numberic Plan Indicator (NPI)
2.12.1. unknown
2.12.2. ISDN
2.12.3. data
2.12.4. telex
2.12.5. land_mobile
2.12.6. national
2.12.7. private
2.12.8. ERMES
2.12.9. internet
2.12.10. WAP
2.13. maps['esm_class_bits'] = {}
2.13.1. mode_mask
2.13.2. type_mask
2.13.3. feature_mask
2.13.4. mode_default
2.13.5. mode_datagram
2.13.6. mode_store_and_forward
2.13.7. type_default
2.13.8. type_delivery_receipt
2.13.9. ...
2.14. maps['registered_delivery_bits'] = {}
2.14.1. receipt_mask
2.14.2. ack_mask
2.14.3. intermed_notif_mask
2.14.4. receipt_none
2.14.5. receipt_always
2.14.6. receipt_on_fail
2.14.7. ack_none
2.14.8. ack_delivery
2.14.9. ack_user
2.14.10. ack_delivery_and_user
2.14.11. intermed_notif_none
2.14.12. intermed_notif
2.15. maps['message_state_by_name'] = {}
2.15.1. ENROUTE
2.15.2. DELIVERED
2.15.3. EXPIRED
2.15.4. DELETED
2.15.5. UNDELIVERABLE
2.15.6. ACCEPTED
2.15.7. UNKNOWN
2.15.8. REJECTED
2.16. maps['facility_code_bits'] = {}
2.16.1. GF_PVCY
2.16.2. GF_SUBADDR
2.16.3. NF_CC
2.16.4. NF_PDC
2.16.5. NF_IS136
2.16.6. NF_IS95A
2.17. optional_parameter_tag_by_hex = {}
2.17.1. hex
2.17.2. name
2.17.2.1. dest_addr_subunit
2.17.2.2. additional_status_info_text
2.17.2.3. ...
2.17.3. type
2.17.3.1. integer
2.17.3.2. string
2.17.3.3. bitmask
2.17.3.4. None
2.17.3.5. hex
2.17.4. tech
2.17.4.1. Generic
2.17.4.2. CDMA
2.17.4.3. TDMA
2.17.4.4. GSM
2.17.4.5. ? (J-Phone)
2.17.4.6. vendor extension
2.17.4.6.1. receipt_res
2.17.4.7. 'Mobile Network Code vendor extension
2.18. optional_parameter_tag_name_by_hex()
2.19. unpack_pdu(pdu_bin)
2.19.1. decode_pdu(pdu_hex)
2.19.1.1. command = decode_header(pdu_hex)
2.19.1.1.1. decode_body(command, hex_ref)
2.20. Encoding functions
2.20.1. pack_pdu(pdu_obj)
2.20.2. encode_pdu(pdu_obj)
2.20.3. encode_mandatory_parameters(mandatory_obj, fields)
2.20.4. encode_optional_parameter(tag, value)
2.20.5. encode_param_type(param, type, min=0, max=None, map=None)
3. Conn
3.1. CON::PG_CON
3.1.1. CON::CLOSE_CONNECTION()
4. pdu_builder
4.1. clsPDU
4.1.1. __init__
4.1.1.1. command_id
4.1.1.2. , command_status,
4.1.1.3. sequence_number
4.1.2. obj['header'] = {}
4.1.2.1. command_length
4.1.2.2. command_id
4.1.2.3. command_status
4.1.2.4. sequence_number
4.1.3. get_sequence_number(self)
4.1.4. add_optional_parameter(self, tag, value)
4.1.5. __add_optional_parameter(self, tag, value)
4.1.6. set_sar_msg_ref_num(self, value)
4.1.7. set_sar_segment_seqnum(self, value)
4.1.8. set_sar_total_segments(self, value)
4.1.9. get_obj(self)
4.1.10. get_hex(self):
4.1.10.1. encode_pdu(self.obj)
4.1.11. get_bin(self)
4.1.12. pack_pdu(self.obj)
4.2. clsBind(PDU)
4.2.1. __init__()
4.2.1.1. ,command_id
4.2.1.2. , sequence_number,
4.2.1.3. system_id
4.2.1.4. password
4.2.1.5. system_type
4.2.1.6. interface_version
4.2.1.7. addr_ton
4.2.1.8. addr_np
4.2.1.9. address_range
4.2.2. self.obj['body']['mandatory_parameters'] = {}
4.2.2.1. system_id
4.2.2.2. password
4.2.2.3. system_type
4.2.2.4. interface_version
4.2.2.5. addr_ton
4.2.2.6. addr_npi
4.2.2.7. address_range
4.3. clsBindTransmitter(Bind)
4.3.1. __init__(sequence_number, **kwargs):
4.4. clsBindReceiver(Bind)
4.4.1. __init__( sequence_number, **kwargs):
4.5. clsBindTransceiver(Bind):
4.5.1. __init__(sequence_number, **kwargs):
4.6. clsBindResp(PDU):
4.6.1. self.obj['body'] = {}
4.6.1.1. obj['body']['mandatory_parameters'] = {}
4.6.1.2. obj['body']['mandatory_parameters']['system_id']
4.6.2. __init__():
4.6.2.1. command_id
4.6.2.2. , command_status
4.6.2.3. , sequence_number
4.6.2.4. , system_id=''
4.6.2.5. , **kwargs
4.7. clsBindTransmitterResp(BindResp)
4.7.1. __init__():
4.7.1.1. sequence_number,
4.7.1.2. command_status="ESME_ROK"
4.7.1.3. **kwargs
4.8. clsBindReceiverResp(BindResp):
4.8.1. __init__)
4.8.1.1. sequence_number,
4.8.1.2. command_status="ESME_ROK
4.8.1.3. **kwargs
4.9. clsBindTransceiverResp(BindResp)
4.9.1. __init__( )
4.9.1.1. sequence_number,
4.9.1.2. command_status="ESME_ROK"
4.9.1.3. **kwargs
4.10. clsUnbind(PDU)
4.10.1. __init__()
4.10.1.1. sequence_number
4.10.1.2. **kwargs
4.11. clsUnbindResp(PDU):
4.11.1. sequence_number,
4.11.2. **kwargs
4.12. clsSM1(PDU):
4.12.1. __init__()
4.12.1.1. command_id
4.12.1.2. sequence_number
4.12.1.3. service_type
4.12.1.4. source_addr_ton
4.12.1.5. source_addr_npi
4.12.1.6. source_addr
4.12.1.7. esm_class
4.12.1.8. protocol_id
4.12.1.9. priority_flag
4.12.1.10. schedule_delivery_time
4.12.1.11. validity_period
4.12.1.12. registered_delivery
4.12.1.13. replace_if_present_flag
4.12.1.14. data_coding
4.12.1.15. sm_default_msg_id
4.12.1.16. sm_length
4.12.1.17. short_message
4.12.1.18. kwargs
4.12.2. obj['body']['mandatory_parameters'] = {}
4.12.2.1. service_type
4.12.2.2. source_addr_ton
4.12.2.3. source_addr_npi
4.12.2.4. source_addr
4.12.2.5. esm_class
4.12.2.6. protocol_id
4.12.2.7. priority_flag
4.12.2.8. schedule_delivery_time
4.12.2.9. validity_period
4.12.2.10. registered_delivery
4.12.2.11. replace_if_present_flag
4.12.2.12. data_coding
4.12.2.13. sm_default_msg_id
4.12.2.14. sm_length
4.12.2.15. short_message
4.12.3. add_message_payload(self, value)
4.13. clsSubmitMulti(SM1)
4.13.1. __init__():
4.13.1.1. sequence_number
4.13.1.2. number_of_dests
4.13.1.3. dest_address
4.13.1.4. **kwargs
4.13.2. self.obj['body']['mandatory_parameters']
4.13.2.1. number_of_dests
4.13.2.2. dest_address
4.13.3. addDestinationAddress()
4.13.3.1. mandatory_parameters['dest_address']
4.13.3.1.1. dest_flag
4.13.3.1.2. dest_addr_ton
4.13.3.1.3. dest_addr_npi
4.13.3.1.4. destination_addr
4.13.3.2. mandatory_parameters['number_of_dests']
4.13.4. addDistributionList(self, dl_name)
4.13.4.1. mandatory_parameters['dest_address']
4.13.4.1.1. dest_flag
4.13.4.1.2. dl_name
4.14. clsSM2(SM1)
4.14.1. __init__(s):
4.14.1.1. command_id,
4.14.1.2. sequence_number,
4.14.1.3. dest_addr_ton=
4.14.1.4. dest_addr_npi=0,
4.14.1.5. destination_addr='',
4.14.1.6. **kwarg
4.14.2. .obj['body']['mandatory_parameters']
4.14.2.1. dest_addr_ton
4.14.2.2. dest_addr_npi
4.14.2.3. destination_addr
4.15. clsSubmitSM(SM2)
4.15.1. __init__()
4.15.1.1. sequence_number,
4.16. clsSubmitSMResp(PDU)
4.16.1. __init__( )
4.16.1.1. sequence_number
4.16.1.2. , message_id,
4.16.1.3. command_status='ESME_ROK',
4.16.1.4. **kwargs
4.16.2. obj['body']['mandatory_parameters']['message_id'] = message_id
4.17. DeliverSM(SM2)
4.17.1. __init__(sequence_number, **kwargs)
4.18. clsDeliverSMResp(PDU):
4.18.1. __init__( s):
4.18.1.1. sequence_number
4.18.1.2. message_id
4.18.1.3. command_status
4.18.1.4. kwargs
4.18.2. obj['body']['mandatory_parameters']['message_id'] = ''
4.19. clsEnquireLink(PDU):
4.19.1. __init__(sequence_number, **kwargs):
4.20. EnquireLinkResp(PDU):
4.20.1. __init__(sequence_number, **kwargs):
4.21. QuerySM(PDU):
4.21.1. __init__()
4.21.1.1. sequence_number
4.21.1.2. message_id
4.21.1.3. source_addr
4.21.1.4. source_addr_ton
4.21.1.5. source_addr_npi
4.21.1.6. kwargs
4.21.2. obj['body']['mandatory_parameters'] = {}
4.21.2.1. message_id
4.21.2.2. source_addr
4.21.2.3. source_addr_ton
4.21.2.4. source_addr_npi
5. pdu_inspector
5.1. detect_multipart(pdu)
5.2. multipart_key(multipart, delimiter='_')
5.3. clsMultipartMessage
5.3.1. __init__(self, array=None):
5.3.2. add_pdu(self, pdu):
5.3.3. get_completed(self):
5.3.4. get_partial(self):
5.3.5. get_key(self, delimiter='_'):
5.3.6. get_array(self):
6. sequencenumberproviderbase
6.1. clsSequenceNumberProviderBase
6.1.1. get(cls)
7. smsc
7.1. clsSMSC(ESME)
7.1.1. __init__()
7.1.1.1. port
7.1.1.2. credentials
7.1.1.3. server
7.1.1.4. conn
7.1.1.5. addr
7.1.1.6. ESME_ESME__recv()
7.1.1.7. ESME.conn.send(pack_pdu(self.__response(pdu))
7.1.2. __response(self, pdu)
7.1.2.1. pdu_resp['header']
7.1.2.1.1. command_length
7.1.2.1.2. command_id
7.1.2.1.3. command_status
7.1.2.1.4. sequence_number