Hmm, maybe it's reversed?
--
Alejandro Guerrieri
aguerri...@kannel.org



On 18/03/2009, at 21:48, Mathieu Bruneau wrote:

Hi,
Since this is kind of linked to the issue I had a few days ago. (Which i'll probably try your patch) I did a more convenient patch (easier for people to apply)

@Alvaro: To provide patch in this format you can use the following command on most Unix/Linux style :)
diff -ruh gateway-1.4.3/ gateway-1.4.3-esm_patch/ > esm_patch

Mathieu Bruneau

Alvaro Talavera a écrit :

In response to this problem http://www.mail-archive.com/us...@kannel.org/msg03528.html , i write a patch to make the esm_class configurable from the smpp group config.

i think than this changes must appear in next versions of kannel:

CHANGES:
ADD THIS LINES.

+ gwlib/cfg.def
line 345 -    ADD        OCTSTR(esm_class)

+ gw/smsc/smsc_smpp.c
- line 168,     ADD
int esm_class_default;

- line 221,        CHANGE
long wait_ack, int wait_ack_action)
TO
long wait_ack, int wait_ack_action, int esm_class_default)

- line 262,        ADD
smpp->esm_class_default = esm_class_default;

- line 853,        CHANGE
pdu->u.submit_sm.esm_class = ESM_CLASS_SUBMIT_STORE_AND_FORWARD_MODE;
TO
pdu->u.submit_sm.esm_class = smpp->esm_class_default;

- line 2009,    ADD
int esm_class_default;

- line 2138, ADD (add a blank line "press enter" paste this, and other line "press enter")

if (cfg_get_integer(&esm_class_default, grp, octstr_imm("esm_class")) == -1)
esm_class_default = ESM_CLASS_SUBMIT_DEFAULT_SMSC_MODE;

- line 2151,    CHANGE
service_type, connection_timeout, wait_ack, wait_ack_action);
TO
service_type, connection_timeout, wait_ack, wait_ack_action, esm_class_default);



In the attachments is the modified files..



diff -ruh gateway-1.4.3/gw/smsc/smsc_smpp.c gateway-1.4.3-esm_patch/ gw/smsc/smsc_smpp.c --- gateway-1.4.3/gw/smsc/smsc_smpp.c 2009-03-18 20:38:50.000000000 +0000 +++ gateway-1.4.3-esm_patch/gw/smsc/smsc_smpp.c 2009-03-18 20:41:14.000000000 +0000
@@ -165,7 +165,6 @@
    long connection_timeout;
    long wait_ack;
    int wait_ack_action;
-       int esm_class_default;
    SMSCConn *conn;
} SMPP;

@@ -218,7 +217,7 @@
                         Octstr *my_number, int smpp_msg_id_type,
int autodetect_addr, Octstr *alt_charset, Octstr *alt_addr_charset, Octstr *service_type, long connection_timeout, - long wait_ack, int wait_ack_action, int esm_class_default)
+                         long wait_ack, int wait_ack_action)
{
    SMPP *smpp;

@@ -259,7 +258,6 @@
    smpp->connection_timeout = connection_timeout;
    smpp->wait_ack = wait_ack;
    smpp->wait_ack_action = wait_ack_action;
-       smpp->esm_class_default = esm_class_default;
    smpp->bind_addr_ton = 0;
    smpp->bind_addr_npi = 0;

@@ -848,13 +846,9 @@

    /*
     * set the esm_class field
-        * Alvaro Talavera - alvarot...@gmail.com
-        * (original)
- * pdu->u.submit_sm.esm_class = ESM_CLASS_SUBMIT_STORE_AND_FORWARD_MODE;
-        */
-       
- debug("bb.sms.smpp",0,"esm_class set in: %i", smpp- >esm_class_default);
-       pdu->u.submit_sm.esm_class = smpp->esm_class_default;
+     * default is store and forward, plus udh and rpi if requested
+     */
+ pdu->u.submit_sm.esm_class = ESM_CLASS_SUBMIT_STORE_AND_FORWARD_MODE;
    if (octstr_len(msg->sms.udhdata))
        pdu->u.submit_sm.esm_class = pdu->u.submit_sm.esm_class |
            ESM_CLASS_SUBMIT_UDH_INDICATOR;
@@ -2013,7 +2007,6 @@
    Octstr *alt_charset;
    Octstr *alt_addr_charset;
    long connection_timeout, wait_ack, wait_ack_action;
-    int esm_class_default;

    my_number = alt_addr_charset = alt_charset = NULL;
    transceiver_mode = 0;
@@ -2145,10 +2138,6 @@

    if (wait_ack_action > 0x03 || wait_ack_action < 0)
panic(0, "SMPP: Invalid wait-ack-expire directive in configuration.");
-       
-       /* check for esm_class */
- if (cfg_get_integer(&esm_class_default, grp, octstr_imm("esm_class")) == -1)
-        esm_class_default = ESM_CLASS_SUBMIT_DEFAULT_SMSC_MODE;

    smpp = smpp_create(conn, host, port, receive_port, system_type,
                       username, password, address_range,
@@ -2156,7 +2145,7 @@
                       dest_addr_npi, enquire_link_interval,
max_pending_submits, version, priority, validity, my_number, smpp_msg_id_type, autodetect_addr, alt_charset, alt_addr_charset, - service_type, connection_timeout, wait_ack, wait_ack_action, esm_class_default); + service_type, connection_timeout, wait_ack, wait_ack_action);

cfg_get_integer(&smpp->bind_addr_ton, grp, octstr_imm("bind-addr- ton")); cfg_get_integer(&smpp->bind_addr_npi, grp, octstr_imm("bind-addr- npi")); diff -ruh gateway-1.4.3/gwlib/cfg.def gateway-1.4.3-esm_patch/gwlib/ cfg.def
--- gateway-1.4.3/gwlib/cfg.def 2009-03-18 20:38:50.000000000 +0000
+++ gateway-1.4.3-esm_patch/gwlib/cfg.def 2009-03-18 20:41:14.000000000 +0000
@@ -342,7 +342,6 @@
    OCTSTR(flow-control)
    OCTSTR(wait-ack)
    OCTSTR(wait-ack-expire)
-    OCTSTR(esm_class)
    OCTSTR(no-sender)
    OCTSTR(no-coding)
    OCTSTR(window)

Reply via email to