Skip to content

Commit

Permalink
Merge branch 'smsc_39_merge_2' into smsc_39_merge_3
Browse files Browse the repository at this point in the history
  • Loading branch information
vetss committed Jul 20, 2017
2 parents e780be7 + 7d2091f commit 1cca1ab
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@

import java.nio.charset.Charset;

import org.mobicents.protocols.ss7.map.api.smstpdu.DataCodingScheme;
import org.mobicents.protocols.ss7.map.api.smstpdu.UserDataHeader;
import org.mobicents.protocols.ss7.map.datacoding.GSMCharset;
import org.mobicents.protocols.ss7.map.smstpdu.ConcatenatedShortMessagesIdentifierImpl;
import org.mobicents.protocols.ss7.map.smstpdu.DataCodingSchemeImpl;
import org.mobicents.protocols.ss7.map.smstpdu.UserDataHeaderImpl;
import org.mobicents.smsc.library.MessageUtil;
import org.testng.annotations.Test;

public class A2Text {
Expand Down Expand Up @@ -47,4 +53,16 @@ public void testA2() throws Exception {
String digDlvMessageId = String.format("%08X", mId);
// String digDlvMessageId = Long.toHexString(mId).toUpperCase();
}

@Test
public void testA3() throws Exception {
DataCodingScheme dcs = new DataCodingSchemeImpl(0xF1);
String msg = "Welcome to [thiopien\nPrices in EUR\n\nLocal calls from 2.19/min\nIncoming calls 1.29/min\nCalls home from 1.99/min\n\nSMS from 1.29\nData from 19.99/mb\n\n--Lufth";
UserDataHeader udh = new UserDataHeaderImpl();
ConcatenatedShortMessagesIdentifierImpl udhe = new ConcatenatedShortMessagesIdentifierImpl(false, 227, 2, 1);
udh.addInformationElement(udhe);
int messageLen = MessageUtil.getMessageLengthInBytes(dcs, msg, udh);
int i1 = 0;
i1++;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ For each networkId we can configure a separate SS7 GlobalTitle and for an extern

NetworkId for a generated inside SMSC receipts and SMS-STATUS-REPORTs is assigned by two algoritms:

* if the option "Delivery receipts will be routed to the origination networkId" is set to true - networkId from ESME/SIP/SAP via what an original message has left SMSC GW will be assigned
* if the option "Delivery receipts will be routed to the origination networkId" is set to false - networkId from ESME/SIP/SAP via what an original message has come to SMSC GW will be assigned
* if the option "Delivery receipts will be routed to the origination networkId" is set to true - networkId from ESME/SIP/SAP via what an original message has come SMSC GW will be assigned
* if the option "Delivery receipts will be routed to the origination networkId" is set to false - networkId from ESME/SIP/SAP via what an original message has left to SMSC GW will be assigned

Please take into account that mproc rules in `Arrival` trigger (actions like `newnetworkid`) do not affect receipts and SMS-STATUS-REPORTs. This may be used for do not pay attention for receipt routing and concentrate for routing of original messages.

Expand Down Expand Up @@ -247,6 +247,28 @@ We can add mproc rules like
This rule will reroute a message to networkId==22 area for further delivering if IMSI from a SRI response matches the mask. You can use also other conditions here for proper filtering (networkidmask, destdigmask, nnndigitsmask, etc). If in the new networkId area a message will be delivered again to SS7 network then a new SRI will be performed.


[[_failure_reasons]]
=== Temporary and permanent failure reasons.

* Permanent error reasons:
** Internal System failures
** Bad destination address
** MT: ProviderDialogAbort, UserDialogAbort
** MT: RejectComponent / Dialog
** MT: Failure of MAP protocol ACN / version negotiation
** MT: SMDeliveryFailure MAP error message with causes except of "memoryCapacityExceeded" and "equipmentProtocolError"
** MT: MAP error messages of SubscriberBusyForMtSms, AbsentSubscriber, AbsentSubscriberSM, SMDeliveryFailure, SystemFailure
** SMPP: SMPP response error with error codes except of STATUS_THROTTLED (0x58), STATUS_X_T_APPN (0x64), STATUS_SYSERR (0x08), STATUS_INVBNDSTS (0x00000004), STATUS_MSGQFUL (0x14)

* Temporary error reasons:
** DeliveryTimeout
** MT: MAP dialog timeout
** MT: SMDeliveryFailure MAP error message with causes "memoryCapacityExceeded" and "equipmentProtocolError"
** MT: MAP error messages SubscriberBusyForMtSms, AbsentSubscriber, AbsentSubscriberSM, SMDeliveryFailure, SystemFailure
** SMPP: SMPP response error with error codes STATUS_THROTTLED (0x58), STATUS_X_T_APPN (0x64), STATUS_SYSERR (0x08), STATUS_INVBNDSTS (0x00000004), STATUS_MSGQFUL (0x14)
** SMPP: PduRequestTimeout and other sending error


[[_mproc_rules_fundamentals]]
== Message processing rules (mproc rules)

Expand Down Expand Up @@ -1613,7 +1635,15 @@ You need to specify an address of message sender (source address). OCS Server id
. SMSC GW is configured


== Security issues

When you configure SMSC GW for the first usage you need to care for security to avoid of unauthorized usage. Here you can find some tips for this.

If we do not accept messages from SS7 connection (and any other connection) - disable of all messages from all concrete type of connections. Find extra in <<_dest_mocharging>>, <<_dest_txsmppcharging>>, <<_dest_txsipcharging>>, <<_dest_hrcharging>>, <<_dest_txhttpcharging>>.

if we accept MO messages from our subscribers we need to specify (via mproc rules) that we will reject incoming messages with "sourcedigmask" value is out of our subscriber's range (a mproc rule)

To be safe a good way to use diameter server requests for messages where we can implement logic of spam avoiding.


== CDR Logging Settings
Expand All @@ -1627,3 +1657,4 @@ For more details refer to Sections <<_generatecdr>>, <<_generatearchivetable>> a

The CDR generated in a text file is of a specific format.
The details of the format and the possible values for the fields recorded in the CDR log file are explained in <<_monitoring_smsc_cdr_log>>.

2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
<!-- <ch.smpp.namespace>com.fizzed</ch.smpp.namespace> --> <!-- com.fizzed com.cloudhopper -->
<ch.smpp.version>5.0.9</ch.smpp.version>
<smpp.extensions.version>7.1.39</smpp.extensions.version>
<smpp.ra.version>7.1.58</smpp.ra.version>
<smpp.ra.version>7.1.60</smpp.ra.version>
<slf4j.version>1.5.6</slf4j.version> <!-- 1.5.6, 1.6.0, 1.7.10 -->

<org.mobicents.http.ra.version>2.8.50</org.mobicents.http.ra.version>
Expand Down
2 changes: 1 addition & 1 deletion release/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
<!-- SMPP extentions and and RAs -->
<property name="restcomm-smpp-extensions.build-number" value="39" />
<property name="restcomm-smpp-extensions.version" value="7.1" />
<property name="restcomm-smpp-ra.build-number" value="58" />
<property name="restcomm-smpp-ra.build-number" value="60" />
<property name="restcomm-smpp-ra.version" value="7.1" />

<!-- Cassandra community version -->
Expand Down

0 comments on commit 1cca1ab

Please sign in to comment.