Re: smpp esm_class config, go to config file

Alejandro Guerrieri <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Hmm, maybe it's reversed?
--
Alejandro Guerrieri
[email protected]



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/[email protected]/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 - [email protected]
> -	 * (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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.