On Mon, 2002-04-29 at 18:46, Damjan wrote:
> > > Anyone know how to do it?
> >
> > You can use PID 41(0x65)-4? (0x6?) to overwrite message 1-?.
> > Check 3gpp documentation 23040/23038.
> >
> > But basically, you'll send a normal message + &pid=65 and
> > when you send another message from the same number and with
> > the same pid, new message replaces old message in mobile
> > memory.
>
> I just tried this, and doesn't work.
>
> I use Kannel 1.1.6, compiled from source on a Linux machine.
> I have also enabled the "dump PDU" feature in "gw/smsc_smpp.c"
> file. I have an SMPP connection with my SMSC (they use Comverse).
>
> What happens is that although I set pid=65 in the url, the log
> file says "DEBUG: protocol_id: 0 = 0x00000000".
>
> Is this a bug in Kannel?
It looks like smpp module lacks pid support.
This is a patch hopefully to enable pid support (MO and MT) and
MO dcs support (setting mclass, coding, etc)
As I don't have access to SMPP SMSC's neither I know smpp,
please someone test this and tell me if it works so I could commit,
or the SMPP people check, fix and commit themselves
Index: gw/smsc_smpp.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc_smpp.c,v
retrieving revision 1.56
diff -u -r1.56 smsc_smpp.c
--- gw/smsc_smpp.c 24 Apr 2002 08:13:36 -0000 1.56
+++ gw/smsc_smpp.c 30 Apr 2002 01:21:02 -0000
@@ -199,6 +199,8 @@
msg->sms.msgdata = pdu->u.deliver_sm.short_message;
pdu->u.deliver_sm.short_message = NULL;
charset_gsm_to_latin1(msg->sms.msgdata);
+ msg->sms.pid = pdu->u.deliver_sm.protocol_id;
+ dcs_to_fields(&msg, pdu->u.deliver_sm.data_coding);
return msg;
}
@@ -276,6 +278,8 @@
}
pdu->u.submit_sm.data_coding = fields_to_dcs(msg, 0);
+ if(msg->sms.pid)
+ pdu->u.submit_sm.protocol_id = msg->sms.pid;
if (octstr_len(msg->sms.udhdata)) {
pdu->u.submit_sm.short_message =