diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-02-15 21:27:20 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-02-17 19:34:27 +0100 |
commit | 2cdb73cf4a0bb9e7a47cdb6eba4601d00e4eb0d2 (patch) | |
tree | 9ad7a9ecc757f9f46c8a73bf071e1d52c98dee70 /src/sccp_state.c | |
parent | 3d4d8c7b5098776867b7b2192b00d02ab1e9da7f (diff) |
msc: Move more state into the sccp_state.c
Diffstat (limited to 'src/sccp_state.c')
-rw-r--r-- | src/sccp_state.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/sccp_state.c b/src/sccp_state.c index 74f571d..27cef5e 100644 --- a/src/sccp_state.c +++ b/src/sccp_state.c @@ -69,6 +69,7 @@ void mtp_link_set_forward_sccp(struct mtp_link_set *link, struct msgb *_msg, int int rc; struct sccp_parse_result result; struct msc_connection *fw = link->fw; + struct msgb *msg; if (fw->forward_only) { msc_send_direct(fw, _msg); @@ -111,8 +112,17 @@ void mtp_link_set_forward_sccp(struct mtp_link_set *link, struct msgb *_msg, int return; } + /* now send it out */ + bsc_ussd_handle_out_msg(link->fw, &result, _msg); + + msg = msgb_alloc_headroom(4096, 128, "SCCP to MSC"); + if (!msg) { + LOGP(DMSC, LOGL_ERROR, "Failed to alloc MSC msg.\n"); + return; + } - msc_send_msg(fw, rc, &result, _msg); + bss_rewrite_header_for_msc(rc, msg, _msg, &result); + msc_send_direct(link->fw, msg); } void mtp_link_set_forward_isup(struct mtp_link_set *set, struct msgb *msg, int sls) |