RestComm / jss7

RestComm Java SS7 Stack and Services
http://www.restcomm.com/
GNU Affero General Public License v3.0
190 stars 221 forks source link

Add extra parameters to MAP operation SendRoutingInfoForSM #140

Closed vetss closed 6 years ago

vetss commented 8 years ago

The newest MAP specification contains extra parameters in SendRoutingInfoForSM MAP operation. We need to implement it.

Request: sm-deliveryNotIntended [10] SM-DeliveryNotIntended OPTIONAL, ip-sm-gwGuidanceIndicator [11] NULL OPTIONAL, imsi [12] IMSI OPTIONAL, t4-Trigger-Indicator [14] NULL OPTIONAL, singleAttemptDelivery [13] NULL OPTIONAL, correlationID [15] CorrelationID OPTIONAL

Response: ip-sm-gwGuidance [5] IP-SM-GW-Guidance OPTIONAL

vetss commented 8 years ago

Thanks @SummaNetworks for provided update: https://github.com/RestComm/jss7/pull/139

I have committed your work with

https://github.com/RestComm/jss7/commit/1cedc2fc5798e7238452cfe1736d77ae539ad254 https://github.com/RestComm/jss7/commit/bc4277c6392755a3c3b6d4451390479cddcb3be6 https://github.com/RestComm/jss7/commit/17bb1f18b832522ecee3e609b0698fd1ccbb79ef https://github.com/RestComm/jss7/commit/1230394485d1871769ae3202f767475720377ccd https://github.com/RestComm/jss7/commit/245ba7c24d05867565172fd6582718e171ea7c4f

My comments:

What is still missed: 1) SendRoutingInfoForSMRequestTest: no decoding tests for new introduced parameters 2) implementatuion of "correlationID [15] CorrelationID OPTIONAL" for SendRoutingInfoForSMRequest is still missed.

SummaNetworks commented 8 years ago

Hello,

What is still missed: 1) SendRoutingInfoForSMRequestTest: no decoding tests for new introduced parameters

Yes, I forgot it. I will correct it in the next PR

2) implementatuion of "correlationID [15] CorrelationID OPTIONAL" for SendRoutingInfoForSMRequest is still missed.

I have not added this field because I had a problem trying to implement it. CorrelationID is defined as: CorrelationID ::= SEQUENCE { hlr-id [0] HLR-Id OPTIONAL, sip-uri-A [1] SIP-URI OPTIONAL, sip-uri-B [2] SIP-URI}

SIP-URI ::= OCTET STRING

The problem is that I do not know how to implement SIP-URI, because it has no length. What does it mean? Only one octet? or no limit sized? I have not found any other field in Map like this.

Thank you in advance.

vetss commented 8 years ago

Yes, I forgot it. I will correct it in the next PR

ok, thanks. I forgot to mention one thing - we are adding code into netty-2 branch now (and I will rename it to a master brancg soon). Also your updates are also committed only there. Please download that branch content and continure your work / pull updates there.

The problem is that I do not know how to implement SIP-URI

SIP-URI ::= OCTET STRING -- octets are coded as defined in IETF RFC 3261

You can read more of what is usually encoded there in IETF RFC 3261. I guess it is some encoded text srting (so say it may be any length). If you do not manage to understand it propely at the first step it is allowed to use "byte[] data" parameter to initialize this. And further implemenation will add proper encoder / decoder to construstor for example with a parameter "String sipUri". (Althow of cause it is better to investigate all together :) ) Check also org.mobicents.protocols.ss7.map.primitives.OctetStringBase class.

Also please make "sip-uri-B" as optional. I am not very sure that it is a mandatory one.

knosach commented 6 years ago

finished by https://github.com/RestComm/jss7/commit/f4c2a2a1ff7eea995af4e11380d47494813e1b2f