> but it's simple:
> alt_dcs flag is used to define either 0xFX coding (alt_dcs=1) 
> or 0x0X coding 
> (alt_dcs=0). alt_dcs may be SMS_PARAM_UNDEF==-1 only if 
> message was generated 
> on the extern interface (e.g. sendsms in smsbox) and user has 
> not supplied 
> any dcs values. Inverse to that, when we have a dcs value and call 
> dcs_to_fields function, because we allways know which value 
> alt_dcs has, 
> otherwise how was it possible to decode dcs?

My use case is this; I have an application that reads an incoming SMPP
SUBMIT SM PDU and converts it into a Msg, called dcs_to_fields() as
it does.  This operation was setting alt_dcs to 0.

I then send the Msg into the Bearer Box where it gets routed over the
SMPP driver. The code;

    else
        pdu->u.submit_sm.data_coding = fields_to_dcs(msg,
            (msg->sms.alt_dcs != SMS_PARAM_UNDEFINED ?
             msg->sms.alt_dcs : smpp->conn->alt_dcs));

interprets an alt_dcs of 0 as enabling, and consequently sets alt_dcs in
the fields_to_dcs () call. 

So I've taken in an SMPP SUBMIT SM PDU, converted it using dcs_to_fields()
(and others) into a normalised Msg, given it to the Bearer Box which
converts it back into a SMPP SUBMIT SM PDU using fields_to_dcs() and I 
end with a different DCS value from the original PDU.

I agree that its not a problem with Kannel because Kannel does'nt use the
gwapp library like this.
  

Reply via email to