⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smpp_pdu.def

📁 The Kannel Open Source WAP and SMS gateway works as both an SMS gateway, for implementing keyword b
💻 DEF
字号:
/* ====================================================================  * The Kannel Software License, Version 1.0  *  * Copyright (c) 2001-2004 Kannel Group   * Copyright (c) 1998-2001 WapIT Ltd.    * All rights reserved.  *  * Redistribution and use in source and binary forms, with or without  * modification, are permitted provided that the following conditions  * are met:  *  * 1. Redistributions of source code must retain the above copyright  *    notice, this list of conditions and the following disclaimer.  *  * 2. Redistributions in binary form must reproduce the above copyright  *    notice, this list of conditions and the following disclaimer in  *    the documentation and/or other materials provided with the  *    distribution.  *  * 3. The end-user documentation included with the redistribution,  *    if any, must include the following acknowledgment:  *       "This product includes software developed by the  *        Kannel Group (http://www.kannel.org/)."  *    Alternately, this acknowledgment may appear in the software itself,  *    if and wherever such third-party acknowledgments normally appear.  *  * 4. The names "Kannel" and "Kannel Group" must not be used to  *    endorse or promote products derived from this software without  *    prior written permission. For written permission, please   *    contact org@kannel.org.  *  * 5. Products derived from this software may not be called "Kannel",  *    nor may "Kannel" appear in their name, without prior written  *    permission of the Kannel Group.  *  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE  * DISCLAIMED.  IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,   * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT   * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR   * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,   * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE   * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,   * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  * ====================================================================  *  * This software consists of voluntary contributions made by many  * individuals on behalf of the Kannel Group.  For more information on   * the Kannel Group, please see <http://www.kannel.org/>.  *  * Portions of this software are based upon software originally written at   * WapIT Ltd., Helsinki, Finland for the Kannel project.   */ /* * smpp_pdu.def - definitions of SMPP PDU structure * * Lars Wirzenius * Daniel Lukic <lukic@vivatech.de>: *     Initial optional parameters implementation. * Alexander Malysh <a.malysh@centrium.de>: *     Extended optional parameters implementation. */#include "smpp_pdu_opt.def"#ifndef PDU#error Macro PDU not defined.#endif#ifndef INTEGER#error Macro INTEGER not defined.#endif#ifndef NULTERMINATED#error Macro NULTERMINATED not defined.#endif#ifndef OCTETS#error Macro OCTETS not defined.#endif#ifndef OPTIONAL_BEGIN#error Macro OPTIONAL_BEGIN not defined.#endif#ifndef TLV_INTEGER#error Macro TLV_INTEGER not defined.#endif#ifndef TLV_NULTERMINATED#error Macro TLV_NULTERMINATED not defined.#endif#ifndef TLV_OCTETS#error Macro TLV_OCTETS not defined.#endif#ifndef OPTIONAL_END#error Macro OPTIONAL_END not defined.#endif/* * All SMPP PDUs have a common header consisting of four integers. * The first integer, command_length, is dealt with implicitly by * the I/O stuff, so we don't store it in the PDU data structure. * The other three are defined in the HEADER macro. */#ifdef HEADER#error Macro HEADER was already defined.#endif#define HEADER	\    INTEGER(command_id, 4) \    INTEGER(command_status, 4) \    INTEGER(sequence_number, 4)PDU(bind_transmitter,    0x00000002,    HEADER    NULTERMINATED(system_id, 16)    NULTERMINATED(password, 9)    NULTERMINATED(system_type, 13)    INTEGER(interface_version, 1)    INTEGER(addr_ton, 1)    INTEGER(addr_npi, 1)    NULTERMINATED(address_range, 41))PDU(bind_transmitter_resp,    0x80000002,    HEADER    NULTERMINATED(system_id, 16)    OPTIONAL_BEGIN    TLV_INTEGER(sc_interface_version, 1)    OPTIONAL_END)PDU(bind_receiver,    0x00000001,    HEADER    NULTERMINATED(system_id, 16)    NULTERMINATED(password, 9)    NULTERMINATED(system_type, 13)    INTEGER(interface_version, 1)    INTEGER(addr_ton, 1)    INTEGER(addr_npi, 1)    NULTERMINATED(address_range, 41))PDU(bind_receiver_resp,    0x80000001,    HEADER    NULTERMINATED(system_id, 16)    OPTIONAL_BEGIN    TLV_INTEGER(sc_interface_version, 1)    OPTIONAL_END)PDU(bind_transceiver,    0x00000009,    HEADER    NULTERMINATED(system_id, 16)    NULTERMINATED(password, 9)    NULTERMINATED(system_type, 13)    INTEGER(interface_version, 1)    INTEGER(addr_ton, 1)    INTEGER(addr_npi, 1)    NULTERMINATED(address_range, 41))PDU(bind_transceiver_resp,    0x80000009,    HEADER    NULTERMINATED(system_id, 16)    OPTIONAL_BEGIN    TLV_INTEGER(sc_interface_version, 1)    OPTIONAL_END)PDU(outbind,    0x0000000B,    HEADER    NULTERMINATED(system_id, 16)    NULTERMINATED(password, 9))PDU(unbind,    0x00000006,    HEADER)PDU(unbind_resp,    0x80000006,    HEADER)PDU(generic_nack,    0x80000000,    HEADER)PDU(submit_sm,    0x00000004,    HEADER    NULTERMINATED(service_type, 6)    INTEGER(source_addr_ton, 1)    INTEGER(source_addr_npi, 1)    NULTERMINATED(source_addr, 21)    INTEGER(dest_addr_ton, 1)    INTEGER(dest_addr_npi, 1)    NULTERMINATED(destination_addr, 21)    INTEGER(esm_class, 1)    INTEGER(protocol_id, 1)    INTEGER(priority_flag, 1)    NULTERMINATED(schedule_delivery_time, 17)    NULTERMINATED(validity_period, 17)    INTEGER(registered_delivery, 1)    INTEGER(replace_if_present_flag, 1)    INTEGER(data_coding, 1)    INTEGER(sm_default_msg_id, 1)    INTEGER(sm_length, 1)    OCTETS(short_message, sm_length)    OPTIONAL_BEGIN    TLV_INTEGER(user_message_reference, 2)    TLV_INTEGER(source_port, 2)    TLV_INTEGER(source_addr_subunit, 1)    TLV_INTEGER(destination_port, 2)    TLV_INTEGER(dest_addr_subunit, 1)    TLV_INTEGER(sar_msg_ref_num, 2)    TLV_INTEGER(sar_total_segments, 1)    TLV_INTEGER(sar_segment_seqnum, 1)    TLV_INTEGER(more_messages_to_send, 1)    TLV_INTEGER(payload_type, 1)    TLV_OCTETS(message_payload, 0, 65536)    TLV_INTEGER(privacy_indicator, 1)    TLV_OCTETS(callback_num, 4, 19)    TLV_INTEGER(callback_num_pres_ind, 1)    TLV_OCTETS(callback_num_atag, 0, 65)    TLV_OCTETS(source_subaddress, 2, 23)    TLV_OCTETS(dest_subaddress, 2, 23)    TLV_INTEGER(user_response_code, 1)    TLV_INTEGER(display_time, 1)    TLV_INTEGER(sms_signal, 2)    TLV_INTEGER(ms_validity, 1)    TLV_INTEGER(ms_msg_wait_facilities, 1)    TLV_INTEGER(number_of_messages, 1)    TLV_INTEGER(alert_on_message_delivery, 0)    TLV_INTEGER(language_indicator, 1)    TLV_INTEGER(its_reply_type, 1)    TLV_OCTETS(its_session_info, 2, 2)    TLV_OCTETS(ussd_service_op, 1, 1)    OPTIONAL_END)PDU(submit_sm_resp,    0x80000004,    HEADER    NULTERMINATED(message_id, 65))PDU(submit_multi,    0x00000021,    HEADER    NULTERMINATED(service_type, 6)    INTEGER(source_addr_ton, 1)    INTEGER(source_addr_npi, 1)    NULTERMINATED(source_addr, 21)    INTEGER(number_of_dests, 1)    NULTERMINATED(dest_address_es, 254 * 24)    INTEGER(esm_class, 1)    INTEGER(protocol_id, 1)    INTEGER(priority_flag, 1)    NULTERMINATED(schedule_delivery_time, 17)    NULTERMINATED(validity_period, 17)    INTEGER(registered_delivery, 1)    INTEGER(replace_if_present_flag, 1)    INTEGER(data_coding, 1)    INTEGER(sm_default_msg_id, 1)    INTEGER(sm_length, 1)    OCTETS(short_message, sm_length)    OPTIONAL_BEGIN    TLV_INTEGER(user_message_reference, 2)    TLV_INTEGER(source_port, 2)    TLV_INTEGER(source_addr_subunit, 1)    TLV_INTEGER(destination_port, 2)    TLV_INTEGER(dest_addr_subunit, 1)    TLV_INTEGER(sar_msg_ref_num, 2)    TLV_INTEGER(sar_total_segments, 1)    TLV_INTEGER(sar_segment_seqnum, 1)    TLV_INTEGER(payload_type, 1)    TLV_OCTETS(message_payload, 0, 65536)    TLV_INTEGER(privacy_indicator, 1)    TLV_OCTETS(callback_num, 4, 19)    TLV_INTEGER(callback_num_pres_ind, 1)    TLV_OCTETS(callback_num_atag, 0, 65)    TLV_OCTETS(source_subaddress, 2, 23)    TLV_OCTETS(dest_subaddress, 2, 23)    TLV_INTEGER(display_time, 1)    TLV_INTEGER(sms_signal, 2)    TLV_INTEGER(ms_validity, 1)    TLV_INTEGER(ms_msg_wait_facilities, 1)    TLV_INTEGER(alert_on_message_delivery, 0)    TLV_INTEGER(language_indicator, 1)    OPTIONAL_END)PDU(submit_multi_resp,    0x80000021,    HEADER    NULTERMINATED(message_id, 65)    INTEGER(no_unsuccess, 1))PDU(deliver_sm,    0x00000005,    HEADER    NULTERMINATED(service_type, 6)    INTEGER(source_addr_ton, 1)    INTEGER(source_addr_npi, 1)    NULTERMINATED(source_addr, 21)    INTEGER(dest_addr_ton, 1)    INTEGER(dest_addr_npi, 1)    NULTERMINATED(destination_addr, 21)    INTEGER(esm_class, 1)    INTEGER(protocol_id, 1)    INTEGER(priority_flag, 1)    NULTERMINATED(schedule_delivery_time, 1)    NULTERMINATED(validity_period, 1)    INTEGER(registered_delivery, 1)    INTEGER(replace_if_present_flag, 1)    INTEGER(data_coding, 1)    INTEGER(sm_default_msg_id, 1)    INTEGER(sm_length, 1)    OCTETS(short_message, sm_length)    OPTIONAL_BEGIN    TLV_INTEGER(user_message_reference, 2)    TLV_INTEGER(source_port, 2)    TLV_INTEGER(destination_port, 2)    TLV_INTEGER(sar_msg_ref_num, 2)    TLV_INTEGER(sar_total_segments, 1)    TLV_INTEGER(sar_segment_seqnum, 1)    TLV_INTEGER(user_response_code, 1)    TLV_INTEGER(privacy_indicator, 1)    TLV_INTEGER(payload_type, 1)    TLV_OCTETS(message_payload, 0, 65536)    TLV_OCTETS(callback_num, 4, 19)    TLV_OCTETS(source_subaddress, 2, 23)    TLV_OCTETS(dest_subaddress, 2, 23)    TLV_INTEGER(language_indicator, 1)    TLV_OCTETS(its_session_info, 2, 2)    TLV_OCTETS(network_error_code, 3, 3)    TLV_INTEGER(message_state, 1)    TLV_NULTERMINATED(receipted_message_id, 65)    OPTIONAL_END)PDU(deliver_sm_resp,    0x80000005,    HEADER    NULTERMINATED(message_id, 1))PDU(data_sm,    0x00000103,    HEADER    NULTERMINATED(service_type, 6)    INTEGER(source_addr_ton, 1)    INTEGER(source_addr_npi, 1)    NULTERMINATED(source_addr, 65)    INTEGER(dest_addr_ton, 1)    INTEGER(dest_addr_npi, 1)    NULTERMINATED(destination_addr, 65)    INTEGER(esm_class, 1)    INTEGER(registered_delivery, 1)    INTEGER(data_coding, 1)    OPTIONAL_BEGIN    TLV_INTEGER(source_port, 2)    TLV_INTEGER(source_addr_subunit, 1)    TLV_INTEGER(source_network_type, 1)    TLV_INTEGER(source_bearer_type, 1)    TLV_INTEGER(source_telematics_id, 1)    TLV_INTEGER(destination_port, 2)    TLV_INTEGER(dest_addr_subunit, 1)    TLV_INTEGER(dest_network_type, 1)    TLV_INTEGER(dest_bearer_type, 1)    TLV_INTEGER(dest_telematics_id, 2)    TLV_INTEGER(sar_msg_ref_num, 2)    TLV_INTEGER(sar_total_segments, 1)    TLV_INTEGER(sar_segment_seqnum, 1)    TLV_INTEGER(more_messages_to_send, 1)    TLV_INTEGER(qos_time_to_live, 4)    TLV_INTEGER(payload_type, 1)    TLV_OCTETS(message_payload, 0, 65536)    TLV_INTEGER(set_dpf, 1)    TLV_NULTERMINATED(receipted_message_id, 65)    TLV_INTEGER(message_state, 1)    TLV_OCTETS(network_error_code, 3, 3)    TLV_INTEGER(user_message_reference, 2)    TLV_INTEGER(privacy_indicator, 1)    TLV_OCTETS(callback_num, 4, 19)    TLV_INTEGER(callback_num_pres_ind, 1)    TLV_OCTETS(callback_num_atag, 0, 65)    TLV_OCTETS(source_subaddress, 2, 23)    TLV_OCTETS(dest_subaddress, 2, 23)    TLV_INTEGER(user_response_code, 1)    TLV_INTEGER(display_time, 1)    TLV_INTEGER(sms_signal, 2)    TLV_INTEGER(ms_validity, 1)    TLV_INTEGER(ms_msg_wait_facilities, 1)    TLV_INTEGER(number_of_messages, 1)    TLV_INTEGER(alert_on_message_delivery, 0)    TLV_INTEGER(language_indicator, 1)    TLV_INTEGER(its_reply_type, 1)    TLV_OCTETS(its_session_info, 2, 2)    OPTIONAL_END)PDU(data_sm_resp,    0x80000103,    HEADER    NULTERMINATED(message_id, 65)    OPTIONAL_BEGIN    TLV_INTEGER(delivery_failure_reason, 1)    TLV_OCTETS(network_error_code, 3, 3)    TLV_NULTERMINATED(additional_status_info_text, 256)    TLV_INTEGER(dpf_result, 1)    OPTIONAL_END)PDU(query_sm,    0x00000003,    HEADER    NULTERMINATED(message_id, 65)    INTEGER(source_addr_ton, 1)    INTEGER(source_addr_npi, 1)    NULTERMINATED(source_addr, 21))PDU(query_sm_resp,    0x80000003,    HEADER    NULTERMINATED(message_id, 65)    NULTERMINATED(final_date, 17)    INTEGER(message_state, 1)    INTEGER(error_code, 1))PDU(cancel_sm,    0x00000008,    HEADER    NULTERMINATED(service_type, 6)    NULTERMINATED(message_id, 65)    INTEGER(source_addr_ton, 1)    INTEGER(source_addr_npi, 1)    NULTERMINATED(source_addr, 21)    INTEGER(dest_addr_ton, 1)    INTEGER(dest_addr_npi, 1)    NULTERMINATED(destination_addr, 65))PDU(cancel_sm_resp,    0x80000008,    HEADER)PDU(replace_sm,    0x00000007,    HEADER    NULTERMINATED(service_type, 6)    NULTERMINATED(message_id, 65)    INTEGER(source_addr_ton, 1)    INTEGER(source_addr_npi, 1)    NULTERMINATED(source_addr, 21)    NULTERMINATED(schedule_delivery_time, 17)    NULTERMINATED(validity_period, 17)    INTEGER(registered_delivery, 1)    INTEGER(sm_default_msg_id, 1)    INTEGER(sm_length, 1)    OCTETS(short_message, sm_length))PDU(replace_sm_resp,    0x80000007,    HEADER)PDU(enquire_link,    0x00000015,    HEADER)PDU(enquire_link_resp,    0x80000015,    HEADER)PDU(alert_notification,    0x00000102,    HEADER    INTEGER(source_addr_ton, 1)    INTEGER(source_addr_npi, 1)    NULTERMINATED(source_addr, 21)    INTEGER(esme_addr_ton, 1)    INTEGER(esme_addr_npi, 1)    NULTERMINATED(esme_addr, 65)    OPTIONAL_BEGIN    TLV_INTEGER(ms_availability_status, 1)    OPTIONAL_END)#undef PDU#undef INTEGER#undef NULTERMINATED#undef OCTETS#undef HEADER#undef OPTIONAL_BEGIN#undef TLV_INTEGER#undef TLV_NULTERMINATED#undef TLV_OCTETS#undef OPTIONAL_END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -