add eunit tests for ISUP prefix rewrite corner cases
This commit is contained in:
parent
455b4785b9
commit
dea7489727
|
@ -0,0 +1,94 @@
|
|||
-module(mgw_nat_act_bow_onw_tests).
|
||||
-author('Harald Welte <laforge@gnumonks.org>').
|
||||
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
|
||||
-include_lib("osmo_ss7/include/sccp.hrl").
|
||||
-include_lib("osmo_ss7/include/isup.hrl").
|
||||
-include_lib("osmo_ss7/include/osmo_util.hrl").
|
||||
|
||||
% unmodified original called party number in national format
|
||||
-define(IAM_CALLED_DEC_IN,
|
||||
#party_number{nature_of_addr_ind=?ISUP_ADDR_NAT_NATIONAL,
|
||||
internal_net_num=1,
|
||||
number_incompl_ind=undefined,
|
||||
numbering_plan=1,
|
||||
present_restrict=undefined,
|
||||
screening_ind=undefined,
|
||||
phone_number=[9,2,9,9,4,1,9,0,8,7,15]}).
|
||||
|
||||
-define(IAM_CALLING_EMPTY_DEC_IN,
|
||||
#party_number{nature_of_addr_ind=?ISUP_ADDR_NAT_NATIONAL,
|
||||
internal_net_num=undefined,
|
||||
number_incompl_ind=0,
|
||||
numbering_plan=1,
|
||||
present_restrict=1,
|
||||
screening_ind=3,
|
||||
phone_number=[]}).
|
||||
|
||||
% modified called party number in international format
|
||||
-define(IAM_CALLED_DEC_OUT,
|
||||
?IAM_CALLED_DEC_IN#party_number{nature_of_addr_ind=?ISUP_ADDR_NAT_INTERNATIONAL,
|
||||
phone_number=[4,9,9,2,9,9,4,1,9,0,8,7,15]}).
|
||||
|
||||
|
||||
|
||||
% IAM message in STP-MSC direction containing national number
|
||||
-define(ISUP_IAM_DEC, {isup_msg,1,14, [{conn_ind_nature,16}, {fw_call_ind,24832},
|
||||
{calling_cat,10}, {transm_medium_req,3},
|
||||
{?ISUP_PAR_CALLED_P_NUM, ?IAM_CALLED_DEC_IN},
|
||||
{?ISUP_PAR_CALLING_P_NUM, ?IAM_CALLING_EMPTY_DEC_IN},
|
||||
{57,{2,<<"1À">>}}, {29,{3,<<144,144,163>>}}]}).
|
||||
|
||||
% modified IAM message in STP-MSC direction containing internationalized number
|
||||
-define(ISUP_IAM_OUT, {isup_msg,1,14, [{conn_ind_nature,16}, {fw_call_ind,24832},
|
||||
{calling_cat,10}, {transm_medium_req,3},
|
||||
{?ISUP_PAR_CALLED_P_NUM, ?IAM_CALLED_DEC_OUT},
|
||||
{?ISUP_PAR_CALLING_P_NUM, ?IAM_CALLING_EMPTY_DEC_IN},
|
||||
{57,{2,<<"1À">>}}, {29,{3,<<144,144,163>>}}]}).
|
||||
|
||||
|
||||
% variant: calling number is national number with 00 prefix, need to
|
||||
% remove 00 and set to international
|
||||
-define(IAM_CALLING00_DEC_IN,
|
||||
?IAM_CALLING_EMPTY_DEC_IN#party_number{phone_number=[0,0,4,9,1,2,3,4,5,6,7,8,9,0,15]}).
|
||||
-define(IAM_CALLING00_DEC_OUT,
|
||||
?IAM_CALLING00_DEC_IN#party_number{nature_of_addr_ind=?ISUP_ADDR_NAT_INTERNATIONAL,
|
||||
phone_number=[4,9,1,2,3,4,5,6,7,8,9,0,15]}).
|
||||
-define(ISUP_IAM00_DEC, {isup_msg,1,14, [{conn_ind_nature,16}, {fw_call_ind,24832},
|
||||
{calling_cat,10}, {transm_medium_req,3},
|
||||
{?ISUP_PAR_CALLED_P_NUM, ?IAM_CALLED_DEC_IN},
|
||||
{?ISUP_PAR_CALLING_P_NUM, ?IAM_CALLING00_DEC_IN},
|
||||
{57,{2,<<"1À">>}}, {29,{3,<<144,144,163>>}}]}).
|
||||
-define(ISUP_IAM00_OUT, {isup_msg,1,14, [{conn_ind_nature,16}, {fw_call_ind,24832},
|
||||
{calling_cat,10}, {transm_medium_req,3},
|
||||
{?ISUP_PAR_CALLED_P_NUM, ?IAM_CALLED_DEC_OUT},
|
||||
{?ISUP_PAR_CALLING_P_NUM, ?IAM_CALLING00_DEC_OUT},
|
||||
{57,{2,<<"1À">>}}, {29,{3,<<144,144,163>>}}]}).
|
||||
|
||||
setup() ->
|
||||
application:set_env(mgw_nat, msrn_pfx_msc, 41489099),
|
||||
application:set_env(mgw_nat, msrn_pfx_stp, 4991806040),
|
||||
application:set_env(mgw_nat, intern_pfx, 49).
|
||||
%mgw_nat_act_vfuk_onw:reload_config().
|
||||
|
||||
teardown(_) ->
|
||||
application:unset_env(mgw_nat, msrn_pfx_msc),
|
||||
application:unset_env(mgw_nat, msrn_pfx_stp),
|
||||
application:unset_env(mgw_nat, intenr_pfx).
|
||||
|
||||
|
||||
mangle_rx_iam() ->
|
||||
?assertEqual(?ISUP_IAM_OUT, mgw_nat:mangle_rx_isup(from_stp, path, 1, ?ISUP_IAM_DEC)).
|
||||
|
||||
mangle_rx_iam00() ->
|
||||
?assertEqual(?ISUP_IAM00_OUT, mgw_nat:mangle_rx_isup(from_stp, path, 1, ?ISUP_IAM00_DEC)).
|
||||
|
||||
bow_onw_test_() ->
|
||||
{setup,
|
||||
fun setup/0,
|
||||
fun teardown/1,
|
||||
[ ?_test(mangle_rx_iam()),
|
||||
?_test(mangle_rx_iam00())
|
||||
]
|
||||
}.
|
Loading…
Reference in New Issue