Commit Graph

102 Commits

Author SHA1 Message Date
Harald Welte 1bb06fae9c mangle_tt_sri_sm: Yet another retunrError case that was unhandled 2013-09-05 13:08:26 +02:00
Harald Welte f8eb8ef2dd mangle_tt_sri_sm: fix get_tcap_operation for returnError 2013-09-05 13:04:08 +02:00
Harald Welte 332ce25dbe mgw_nat_usr / sctp_handler: Allow specification of local IP+Port 2013-08-30 10:35:57 +02:00
Harald Welte 6f1f3097ff make sur to not cause badrecord exception on returnResult with asn1_NOVALUE 2013-06-05 11:16:44 +02:00
Harald Welte 6c202b211d vfuk_onw: activate mangle_tt_sri_sm and add test config for it 2013-06-05 11:16:42 +02:00
Harald Welte 54274d40c4 mangle_tt_sri_sm: don't throw excaption if mangle_tt_sri_sm_pfx environment is not set 2013-06-05 11:16:40 +02:00
Harald Welte 51c4b5c279 map_masq: Fix patching of IMSI and SC-Addr in SRI-RES and MO-FW-SM 2013-04-24 12:44:17 +05:30
Harald Welte dea7489727 add eunit tests for ISUP prefix rewrite corner cases 2013-04-24 12:35:25 +05:30
Harald Welte 455b4785b9 fix isup_party_nat00_internationalize() for empty number
Avoid running into an exception in case the calling party is an empty
number "[]" (I guess call screening is applied).
2013-04-24 12:33:53 +05:30
Harald Welte 5d4b3523c7 mgw_nat: fix typo in printing ISUP mangling errors 2013-04-24 11:17:06 +05:30
Harald Welte 8acc356ebd add a small README for the code 2013-03-21 15:05:20 +01:00
Harald Welte e8b2173386 map_masq: Only one matching function for MO-ForwardSM-Arg
We have both the smsCDA and the imsi_list translation in the
MO-ForwardSM-Arg, and have to put both in one matching function, as in
the case of multiple matching functions only one of them will be
2013-02-06 11:25:07 +01:00
Harald Welte 04bc9f8645 map_masq: Fix processing of MO-ForwardSM-Arg 2013-02-06 09:37:00 +01:00
Harald Welte 6675c74d37 map_masq: don't assume that imsi_list is a gb_tree anymore
Introduce a imsi_list:num_entries/1 function to determine number of
2013-02-06 09:14:37 +01:00
Harald Welte 7bd1d4ae4f map_masq/imsi_list: bi-directional mapping, also change MO-ForwardSM-Arg
This introduces a second gb_tree of imsi mappings for the inverse
direction, in order to mangle MO-ForwardSM-Arg
2013-02-06 09:02:46 +01:00
Harald Welte 0be74df53e mgw_nat: Update to new xua_codec based m2ua parser 2013-01-26 16:41:59 +01:00
Harald Welte 8a7e6597c4 add mangle_tt_sri_sm to list of modules in mgw_nat application 2012-05-30 12:11:34 +02:00
Harald Welte cb190c278d add new mangle_tt_sri_sm module and associated eunit tests
This module is able to match a SCCP message against a given
Destination-GT prefix and checks if the message contains an
Invoke(SRI-for-SM).  If both conditions are true, it alters the TT from
whatever it may currently be to 3.

This is used for SMS special routing cases at the STP.
2012-05-30 09:38:14 +02:00
Harald Welte fb222d9112 consistently license all files under AGPLv3 2012-04-16 13:19:15 +02:00
Harald Welte 0b452a8eb9 Add Erlang Public License compatibility notice 2012-04-16 13:18:04 +02:00
Harald Welte 3b10578cc3 sccp_masq: Fix config_reload / use named_tables
we cannot store persistent/dynamically created state like the references
to our SCCP MASQ state tables in the application environment, as the
environment gets cleared and re-initialized by the
application_controller on osmo_util:reload_config().

So now we use named_tables instead to ensure persistency accross
config reload
2012-03-29 21:36:15 +02:00
Harald Welte fce6cf18dd IMSI rewrite: change from prefix rewrite to full N:M rewriting 2012-02-20 07:56:16 +01:00
Harald Welte 80743f8bab mgw_nat: As of 2012-02-14, MSC -> STP direction uses international format
We used to convert from inetrnational format into national format on the
MSC->STP direction of ISUP messages.  This is no longer the case, we now
need to send exclusively international format.
2012-02-14 21:19:49 +01:00
Harald Welte 432ea566ff mgw_nat: add some more comments to the code 2012-02-14 09:49:51 +01:00
Harald Welte a53a63a8da mgw_nat: explicitly state application name in get/set_env()
This makes sure that even if some function is called from a different
context, it still will use the correct configuration data.
2012-02-13 22:10:33 +01:00
Harald Welte 71d8833bbe vfuk test: fix 'terminate()' cleanup in eunit test 2012-02-13 20:55:15 +01:00
Harald Welte 9fe07294ff mgw_nat: add IMSI matching / prefix-rewrite for SRI-SM
When the MSC responds with a SRI-SM-Response, we match against a
user-supplied list of IMSs.  If there is a match, we replace the
known prefix of the IMSI with a new known prefix.
2012-02-13 20:54:17 +01:00
Harald Welte e6d3ea273d vfuk_onw_tests: use record syntax to be more robust
We shouldn't make detailed assumptions about the tuple structure of the
underlying auto-geenrated records for the MAP protocol spec...
2012-02-13 19:06:12 +01:00
Harald Welte 2876f1854d update gitignore 2011-11-12 11:55:01 +01:00
Harald Welte 23b229bb71 rebar: add eunit_surefire 2011-11-11 23:32:32 +01:00
Harald Welte 594c2568d9 sctp_handler: Terminate process in case SCTP peer becomes unreachable
This occurred in case of an IP network outage or MSC outage.  We need to
properly restart the mgw_nat_usr process in order to recover.
2011-09-24 14:33:00 +02:00
Harald Welte 61d9a9eae0 sccp_masq: mark ets tables as "public"
This is neccessary, as the code will execute in the context of various
mgw_nat_usr processes (one for each signalling link).
2011-09-24 14:27:31 +02:00
Harald Welte 392ce05473 make sure sccp_masq is using the application environment for ets 2011-09-24 12:07:44 +02:00
Harald Welte 26647e0f4f make sure LoopDat really is only the loop date and not {ok, LoopDat} 2011-09-24 12:07:25 +02:00
Harald Welte ce995d3d30 mgw_nat: Add ability to translate multiple signalling links
The mgw_nat_sup supervisor now starts one mgw_nat_usr process for each
MSC-STP link defined in the configuration file.  However, the actual
translation/mangling/masquerading configuration as well as runtime state
like allocated SCCP mappings is global/shared between all signalling

Furthermore, a new mgw_nat_adm process is introduced to ensure config
file reloading (formerly handled by the single mgw_nat_usr) does not
have to run in the supervisor (and risk crashing it).
2011-09-15 00:15:29 +01:00
Harald Welte f83e20e307 map_masq: Fix copy+paste mistake causing 'end' structures in 'continue' 2011-05-23 12:41:14 +02:00
Harald Welte 71b158fca6 mgw_nat: Fix bug where we skipped the SCCP static mangling before masq 2011-05-23 12:39:36 +02:00
Harald Welte 097ad255f6 MGW_NAT: disable nagle on SCTP sockets
This should cut down our latencies in forwarding the messages in
the mgw_nat.  Thanks to zecke for the hint...
2011-04-14 21:00:51 +02:00
Harald Welte 3ae9813cb2 better error handling in case application config is insufficient 2011-04-14 18:05:42 +02:00
Harald Welte 92acea9084 VFUK ONW handler: print more information in case of error 2011-04-14 17:50:09 +02:00
Harald Welte fc13de88e9 make mgw_nat much more quiet during operation 2011-04-14 17:49:55 +02:00
Harald Welte 3607d36bd8 propagate reload_config() from app to usr to action handler 2011-04-14 17:46:53 +02:00
Harald Welte 99e92c2426 VFUK actor: Use new GTT matching code
This allows us to use the osmo_ss7_gtt module for matching Sccp
addresses including GT ranges.

The eunit tests have been extended to test the new code.
2011-04-06 17:22:30 +02:00
Harald Welte a227e76dff MGW NAT: Store a reference to the actor module, not the rewrite_actor/5 function
By keeping a module reference, we can call multiple functions inside the
module, and not just one.  This will allow us to propagate a 'reload_config'
function call into the rewrite actors.
2011-04-06 01:07:00 +02:00
Harald Welte eea20e1e82 Use lists:keysearch() instead of lists:keyfind() for R12A compat
Also, print a message if we actually rewrite any phase
2011-03-31 09:40:44 +02:00
Harald Welte e95bfe9a97 use 5min timeout when parsing large pcap files during test 2011-03-27 23:54:59 +02:00
Harald Welte 89f8031494 explicitly try/catch ISUP errors and log all related data 2011-03-27 23:54:45 +02:00
Harald Welte eee3eac368 [PATCH] ONW_VFUK / Camel Phase mangling: Add pcap-based testing
And use the routines from osmo_ss7_pcap instead of our own local
2011-03-12 10:36:13 +01:00
Harald Welte 64825e2279 mgw_nat_test: Handle EOF from epcap, don't catch errors 2011-03-11 15:33:47 +01:00
Harald Welte a2d56886a5 add epcap to rebar dependencies 2011-03-10 10:42:13 +01:00