CDMA push

CDMA push SearchSearch
Author Message
Ren Hutchinson
New member
Username: Rennyh87

Post Number: 1
Registered: 07-2010
Posted on Thursday, July 01, 2010 - 04:53 pm:   

Hello,

I am trying to do a generic wap push to a cdma smsc. I have looked through the forums here, as well as the various WAP/WSP/WDP specs (along with IS 637).

I have created an smpp connection into a cdma smsc and generated some pushes using the web interface into nowSMS.

My question is about port addressing. I have selected the checkbox on the advanced tab of the smsc so that pushes are done using WDP content adaption, but I don't see the WDP datagram in a wireshark trace of the push.

My understanding is that WDP is basically
Source Port + Destination Port + Data.

I see the WAP message in the trace, but the port numbers are not contained in the message payload. They are sent using other TLVs. Is it up to the SMSC to prepend the ports to the message body before it is shipped to the phone?

Or am I just misunderstanding the spec. Thanks for any help, and I apologize if this is noobish.
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 7918
Registered: 10-2002
Posted on Thursday, July 01, 2010 - 07:05 pm:   

Hi Ren,

That is the raw PDU format ... sort of ... it is actually Msg Type + Total Segments + segment number + source port + dest port + data

However, the NowSMS setting that you are referring to follows the "WDP Adaptation" spec. WDP Adaptation defines an over-the-air protocol agnostic specification for WDP over SMPP.

The expectation of the WDP Adaptation specification is that the SMSC recognises the WAP service_type and takes the TLV parameters to translate the message into the raw CDMA PDU format.

The reason for this is because if a message is segmented (like most MMS notifications have to be), the CDMA message_id field must be the same for all segments of the same message. The message_id field is outside of the data part of the CDMA SMS message, and there is no way for an application submitting a message via SMPP to specify this, unless WDP Adaptation is used.

NowSMS does have a capability in its HTTP SMSC interface to generate raw CDMA WAP Push PDUs. We do this primarily for test equipment vendors who need to test in CDMA environments. In the HTTP interface we set an MMTS (more messages to send) flag as a signal to the HTTP side that the message_id from the previous message needs to be repeated. (If this applies to you, there is more information here: http://www.nowsms.com/support/bulletins/tb-nowsms-010.htm)

The message_id issue is the biggest stumbling block to WAP Push/MMS in CDMA environment. We do have a handful of CDMA operators that are using NowSMS as an MMSC using WDP Adaptation, but I'm not sure how widely WDP Adaptation is supported.

If it was needed, it would not be difficult for us to add a configuration option to generate the raw CDMA WAP Push PDU. The problem is this CDMA message_id issue. There is an optional TLV parameter in SMPP called more_message_to_send, so we could use that ... but the SMSC would need to know that when this flag is set, the current message_id needs to be applied again to the next message.

-bn
Ren Hutchinson
New member
Username: Rennyh87

Post Number: 2
Registered: 07-2010
Posted on Thursday, July 01, 2010 - 07:37 pm:   

Thanks for the quick reply, Bruce.

So, essentially, the message payload that is created by nowSMS is stripped of anything that would be protocol(GSM/CDMA) specific.

So it is up the the smsc to take the payload and create as many segments as needed to transmit the message to the mobile.

So if the message was broken into 2 parts (assuming they each use a message ID of 10):

Message 1 becomes:
0x00 = Message Type, 0x02 = total segments, 0x00 = segment number, 0x23,0xf0 = source, 0x0b, 0x84 = destination, xNumber of data octets

and Message 2 becomes:
0x00 = Message Type, 0x02 = total segments, 0x01 = segment number, yNumber of data octets

Both of those messages would become the CHARi fields of the User Data subparameter in a message to the mobile.

I will look into the link you provided to see if that may help me.

Thanks again for the help.
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 7919
Registered: 10-2002
Posted on Friday, July 02, 2010 - 05:05 pm:   

Yes Ren, I should have mentioned that. WDP Adaptation expects the SMSC to perform the segmentation.

I have been told in the past that allowable message lengths can vary between CDMA installations. That is one of the reasons for expecting the SMSC to perform segmentation.

Your interpretation above matches what the way that NowSMS builds the CDMA PDU for the HTTP SMSC interface, so I believe it to be correct.

-bn