aboutsummaryrefslogtreecommitdiff
path: root/src/map_msgs.erl
diff options
context:
space:
mode:
authorDaniel <0xc0decafe@users.noreply.github.com>2016-10-05 12:42:59 +0200
committerDaniel <0xc0decafe@users.noreply.github.com>2016-10-05 12:42:59 +0200
commite7d5812d17e1165492ad342c016c80bad24ae9aa (patch)
tree3c67a47eb255f04f831f535848658f20d9493480 /src/map_msgs.erl
parentb99ffff4982e19424fc78abadd57100a8032bdad (diff)
Structure changed in regard to erlang OTP. Added binary release.
Diffstat (limited to 'src/map_msgs.erl')
-rw-r--r--src/map_msgs.erl99
1 files changed, 40 insertions, 59 deletions
diff --git a/src/map_msgs.erl b/src/map_msgs.erl
index e70b9c7..56c320c 100644
--- a/src/map_msgs.erl
+++ b/src/map_msgs.erl
@@ -2,7 +2,7 @@
-author('Daniel Mende <mail@c0decafe.de>').
-include_lib("osmo_map/src/map.hrl").
--include("ss7test_app.hrl").
+-include("ss7MAPer.hrl").
-compile([export_all]).
@@ -17,19 +17,19 @@
% MAP Definitions
-define(IMSI, hex:hexstr_to_bin("01020304050607f8")).
--define(IMSI_AS_NR, ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+-define(IMSI_AS_NR, ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_LAND_MOBILE,
[0,1,0,2,0,3,0,4,0,5,0,6,0,7,8])).
-define(TMSI, hex:hexstr_to_bin("1234")).
--define(MSISDN, ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+-define(MSISDN, ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
[1,2,3,4,5,6,7,8,9,0])).
-define(SERVICE_CENTER_ADDRESS, hex:hexstr_to_bin("010203040506f1")).
-define(SERVICE_CENTER_ADDRESS_OA, hex:hexstr_to_bin("010203040506f1")).
-define(SERVICE_CENTER_ADDRESS_DA, hex:hexstr_to_bin("010203040506f1")).
--define(GGSN, ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+-define(GGSN, ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
[1,2,3,4,5,6,7,8,9,0])).
@@ -37,16 +37,16 @@
% SMS Definitions
-define(ORIGINATING_ADDRESS, hex:hexstr_to_bin("0b9010203040506f1")).
--define(DESTINATION_ADDRESS, ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+-define(DESTINATION_ADDRESS, ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
[1,2,3,4,5,6,7,8,9,0])).
--define(SOURCE_ADDRESS, ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+-define(SOURCE_ADDRESS, ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
[1,2,3,4,5,6,7,8,9,0])).
-define(SMS_DEST_NR, [1,2,3,4,5,6,7,8,9,0]).
-define(SMS_SRC_NR, [1,2,3,4,5,6,7,8,9,0]).
--define(IMEI, ss7test_helper:encode_phonenumner([1,2,3,4,5,6,7,8,9,0])).
+-define(IMEI, ss7_helper:encode_phonenumner([1,2,3,4,5,6,7,8,9,0])).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% helper
@@ -93,7 +93,7 @@ create_testSMSPDU_mt() ->
EncSMSText = 'sms_7bit_encoding':to_7bit(SMSText),
SMSLen = string:len(SMSText),
Timestamp = hex:hexstr_to_bin("51803001258080"),
- DA = ss7test_helper:encode_phonenumber(?NUMBER_EXTENSION_NONE,
+ DA = ss7_helper:encode_phonenumber(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
?SMS_SRC_NR),
<<0:4, 4:4, DA/binary, 0:8, 0:8, Timestamp/binary, SMSLen:8, EncSMSText/binary>>.
@@ -102,17 +102,17 @@ create_testSMSPDU_mo() ->
SMSText = "ERNW test SMS 31337",
EncSMSText = 'sms_7bit_encoding':to_7bit(SMSText),
SMSLen = string:len(SMSText),
- DA = ss7test_helper:encode_phonenumber(?NUMBER_EXTENSION_NONE,
+ DA = ss7_helper:encode_phonenumber(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
?SMS_DEST_NR),
<<1:8, 23:8, DA/binary, 0:8, 0:8, SMSLen:8, EncSMSText/binary>>.
create_mt_forwardSM_v2() ->
- create_mt_forwardSM_v2(create_testSMSPDU_mt()).
-create_mt_forwardSM_v2(SMSPDU) ->
+ create_mt_forwardSM_v2(create_testSMSPDU_mt(), ?IMSI, ?SERVICE_CENTER_ADDRESS_DA).
+create_mt_forwardSM_v2(SMSPDU, Imsi, Scada) ->
MapData = { 'ForwardSM-Arg',
- {imsi, ?IMSI},
- {serviceCentreAddressOA, ?SERVICE_CENTER_ADDRESS_DA},
+ {imsi, Imsi},
+ {serviceCentreAddressOA, Scada},
SMSPDU,
asn1_NOVALUE, asn1_NOVALUE},
Dialog = build_dialog_request({0,4,0,0,1,0,25,2}),
@@ -132,11 +132,11 @@ create_mt_forwardSM(SMSPDU) ->
encode_map_pdu(Dialog, 44, MapData).
create_mo_forwardSM_v2() ->
- create_mo_forwardSM_v2(create_testSMSPDU_mo()).
-create_mo_forwardSM_v2(SMSPDU) ->
+ create_mo_forwardSM_v2(create_testSMSPDU_mo(), ?SERVICE_CENTER_ADDRESS_DA, ?MSISDN).
+create_mo_forwardSM_v2(SMSPDU, Scada, Msisdn) ->
MapData = { 'ForwardSM-Arg',
- {serviceCentreAddressDA, ?SERVICE_CENTER_ADDRESS_DA},
- {msisdn, ?MSISDN},
+ {serviceCentreAddressDA, Scada},
+ {msisdn, Msisdn},
SMSPDU,
asn1_NOVALUE, asn1_NOVALUE},
Dialog = build_dialog_request({0,4,0,0,1,0,21,2}),
@@ -198,7 +198,7 @@ create_sendRoutingInfo(Msisdn, OrGsmSCF) ->
basicCall,
asn1_NOVALUE,
asn1_NOVALUE,
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
OrGsmSCF), %gsmc-OrGsmSCF-Address
<<7,0,1,68,40,9,150,31>>, %callReferenceNumber
@@ -249,37 +249,13 @@ create_sendRoutingInfo(Msisdn, OrGsmSCF) ->
{ok, EncMapPDU} = map:encode('MapSpecificPDUs', MapPDU),
EncMapPDU.
-%~ create_sendRoutingInfoForGprs() ->
- %~ MapData = {'SendRoutingInforForGprsArg',
- %~ ?IMSI,
- %~ asn1_NOVALUE,
- %~ ?GGSN},
- %~ MapPDU = {'begin',
- %~ {'MapSpecificPDUs_begin',
- %~ get_transactionId(),
- %~ {'EXTERNAL',
- %~ {0,0,17,773,1,1,1},
- %~ asn1_NOVALUE,asn1_NOVALUE,
- %~ {'single-ASN1-type',<<96,15,128,2,7,128,161,9,6,7,4,0,0,1,0,33,4>>}},
- %~ [{basicROS,
- %~ {invoke,
- %~ {'MapSpecificPDUs_begin_components_SEQOF_basicROS_invoke',
- %~ {present,1},
- %~ asn1_NOVALUE,
- %~ {local,24},
- %~ MapData}}}]}},
- %~ {ok, EncMapPDU} = map:encode('MapSpecificPDUs', MapPDU),
- %~ EncMapPDU.
-
-%~ create_registerSS() ->
- %~ create_registerSS(?IMSI, ?DESTINATION_ADDRESS).
create_registerSS(Imsi, Origin, DestinationNumber) ->
MapDialoguePDU = {'map-open',
{'MAP-OpenInfo',
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_LAND_MOBILE,
Imsi), %destinationReference
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
Origin), %originationReference
asn1_NOVALUE }},
@@ -325,10 +301,10 @@ create_registerSS(Imsi, Origin, DestinationNumber) ->
create_eraseSS(Imsi, Origin) ->
MapDialoguePDU = {'map-open',
{'MAP-OpenInfo',
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_LAND_MOBILE,
Imsi), %destinationReference
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
Origin), %originationReference
asn1_NOVALUE }},
@@ -371,10 +347,10 @@ create_updateLocation() ->
create_updateLocation(Imsi, MscNr, VlrNr) ->
MapData = {'UpdateLocationArg',
Imsi,
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
MscNr), %msc-Number
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
VlrNr), %vlr-Number
asn1_NOVALUE, %<<59,151,2,0>>, %lmsi
@@ -416,7 +392,7 @@ create_anyTimeInerrogation(Imsi, GsmSCF) ->
'NULL',asn1_NOVALUE,asn1_NOVALUE,
asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE,
asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE},
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
GsmSCF), %gsmSCF-Address
asn1_NOVALUE},
@@ -468,7 +444,7 @@ create_purgeMs() ->
create_purgeMs(Imsi, VlrNr) ->
MapData = {'PurgeMs-Arg',
Imsi,
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
VlrNr), %VLR number
asn1_NOVALUE, %SGSN number
@@ -481,8 +457,10 @@ create_purgeMs(Imsi, VlrNr) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
create_provideSubscriberInfo() ->
+ create_provideSubscriberInfo(?IMSI).
+create_provideSubscriberInfo(Imsi) ->
MapData = {'ProvideSubscriberInfoArg',
- ?IMSI,
+ Imsi,
asn1_NOVALUE,
{'RequestedInfoMAP-MS-DataTypes',
'NULL', %locationInformation
@@ -515,20 +493,22 @@ create_sendIdentification() ->
encode_map_pdu(Dialog, 55, MapData).
create_provideRoamingNumber() ->
+ create_provideRoamingNumber(?IMSI, ?MSISDN, ?LOCAL_GLOBAL_TITLE, ?LOCAL_GLOBAL_TITLE).
+create_provideRoamingNumber(Imsi, Msisdn, MscNr, GmscNr) ->
MapData = {'ProvideRoamingNumberArg',
- ?IMSI,
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ Imsi,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
- [1,2,3,4,5,6,7,8,9]), %msc-Number
- ?MSISDN,
+ MscNr), %msc-Number
+ Msisdn,
asn1_NOVALUE,
{'ExternalSignalInfo','gsm-0408',
<<4,1,160>>,
asn1_NOVALUE},
asn1_NOVALUE,asn1_NOVALUE,
- ss7test_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
+ ss7_helper:encode_msisdn(?NUMBER_EXTENSION_NONE,
?NUMBER_NATURE_INTERNATIONAL, ?NUMBER_PLAN_ISDN,
- [1,2,3,4,5,6,7,8,9,0]), %gmsc-Address
+ GmscNr), %gmsc-Address
<<112,4,1,54,22,114,55>>, %callReferenceNumber
asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE,
asn1_NOVALUE,
@@ -540,8 +520,10 @@ create_provideRoamingNumber() ->
encode_map_pdu(Dialog, 4, MapData).
create_cancelLocation() ->
+ create_cancelLocation(?IMSI).
+create_cancelLocation(Imsi) ->
MapData = {'CancelLocationArg',
- {imsi,?IMSI},
+ {imsi,Imsi},
updateProcedure,
asn1_NOVALUE,
asn1_NOVALUE},
@@ -587,4 +569,3 @@ create_insertSubscriberData() ->
},
Dialog = build_dialog_request('subscriberDataMngtContext-v3'),
encode_map_pdu(Dialog, 7, MapData).
-