summaryrefslogtreecommitdiffstats
path: root/src/ss7_link_m3ua.erl
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-10-19 13:40:39 +0200
committerHarald Welte <laforge@gnumonks.org>2011-10-19 13:40:39 +0200
commit7dadde8c70131b14b14445246e2f68c7331e26e8 (patch)
treef7a182f969dfbca091733c0c8f305be662e41d3a /src/ss7_link_m3ua.erl
parent805fac48ee31434180aee476261cdcddb145ad92 (diff)
Make sure an incoming M3UA message is actually sent to registered service Pid
Diffstat (limited to 'src/ss7_link_m3ua.erl')
-rw-r--r--src/ss7_link_m3ua.erl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ss7_link_m3ua.erl b/src/ss7_link_m3ua.erl
index 7b35617..95fba70 100644
--- a/src/ss7_link_m3ua.erl
+++ b/src/ss7_link_m3ua.erl
@@ -65,9 +65,13 @@ scrc_tx_to_mtp(Prim, Args) ->
% Callback that we pass to the m3ua_core, which it will call when it wants to
% send a primitive up the stack to SCCP
-m3ua_tx_to_user(Prim, Args) ->
+m3ua_tx_to_user(P=#primitive{subsystem = 'MTP'}, Args) ->
+ % send it directly to the 'service' that has bound
+ ss7_links:mtp3_rx(P);
+m3ua_tx_to_user(P=#primitive{subsystem = 'M'}, Args) ->
+ % send management primitives into the m3ua_link process
UserPid = Args,
- gen_server:cast(UserPid, Prim).
+ gen_server:cast(UserPid, P).
handle_cast(P = #primitive{subsystem = 'MTP', gen_name = 'TRANSFER', spec_name = request}, L) ->
scrc_tx_to_mtp(P, L#loop_dat.m3ua_pid),