aboutsummaryrefslogtreecommitdiffstats
path: root/src/sccp_state.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-02-15 21:27:20 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-02-17 19:34:27 +0100
commit2cdb73cf4a0bb9e7a47cdb6eba4601d00e4eb0d2 (patch)
tree9ad7a9ecc757f9f46c8a73bf071e1d52c98dee70 /src/sccp_state.c
parent3d4d8c7b5098776867b7b2192b00d02ab1e9da7f (diff)
msc: Move more state into the sccp_state.c
Diffstat (limited to 'src/sccp_state.c')
-rw-r--r--src/sccp_state.c12
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)