diff options
author | Harald Welte <laforge@netfilter.org> | 2009-12-29 11:49:12 +0100 |
---|---|---|
committer | Harald Welte <laforge@netfilter.org> | 2010-01-01 10:59:20 +0100 |
commit | 510087752e46489b7ea61d72b3ab39540ce0d908 (patch) | |
tree | 08b0f8203147f4691a22ccfdc33198c274eb625a /openbsc/src/gsm_04_08.c | |
parent | 83579ca8ff706cd2d5ed27a10fa90129bdd943f4 (diff) |
introduce and implement silent_call_reroute() and silent_call_rx()
Thise two functions are interfacing with the 04.08 layer 3 to
determine if a particular message should be handled inside
the OpenBSC layer 3, or if it should be handled in the silent call
handler.
Diffstat (limited to 'openbsc/src/gsm_04_08.c')
-rw-r--r-- | openbsc/src/gsm_04_08.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/gsm_04_08.c index 6eeddbf90..cd66d255f 100644 --- a/openbsc/src/gsm_04_08.c +++ b/openbsc/src/gsm_04_08.c @@ -50,6 +50,7 @@ #include <openbsc/talloc.h> #include <openbsc/transaction.h> #include <openbsc/ussd.h> +#include <openbsc/silent_call.h> #define GSM_MAX_FACILITY 128 #define GSM_MAX_SSVERSION 128 @@ -3500,6 +3501,9 @@ int gsm0408_rcvmsg(struct msgb *msg, u_int8_t link_id) struct gsm48_hdr *gh = msgb_l3(msg); u_int8_t pdisc = gh->proto_discr & 0x0f; int rc = 0; + + if (silent_call_reroute(msg)) + return silent_call_rx(msg); switch (pdisc) { case GSM48_PDISC_CC: |