aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmgcp/mgcp_protocol.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-07-29 11:44:28 +0200
committerHarald Welte <laforge@gnumonks.org>2011-07-29 11:44:28 +0200
commit901d57db07d21f8e7d7f4b11421f63c44c2b2600 (patch)
tree432aa762fd5194cf462127f1b47a24d81d58b6e2 /openbsc/src/libmgcp/mgcp_protocol.c
parent07b7bd79d68c56212b3e248e6f9273a6c556c69d (diff)
parentf31dd860591e18d5f0ba45ef5d9ca8aac45fc9b7 (diff)
Merge branch 'master' of git.osmocom.org:openbsc
Diffstat (limited to 'openbsc/src/libmgcp/mgcp_protocol.c')
-rw-r--r--openbsc/src/libmgcp/mgcp_protocol.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/openbsc/src/libmgcp/mgcp_protocol.c b/openbsc/src/libmgcp/mgcp_protocol.c
index 1d26850ba..44a3b87ff 100644
--- a/openbsc/src/libmgcp/mgcp_protocol.c
+++ b/openbsc/src/libmgcp/mgcp_protocol.c
@@ -831,8 +831,20 @@ out_silent:
static struct msgb *handle_rsip(struct mgcp_config *cfg, struct msgb *msg)
{
+ struct mgcp_msg_ptr data_ptrs[6];
+ const char *trans_id;
+ struct mgcp_endpoint *endp;
+ int found;
+
+ found = mgcp_analyze_header(cfg, msg, data_ptrs, ARRAY_SIZE(data_ptrs),
+ &trans_id, &endp);
+ if (found != 0) {
+ LOGP(DMGCP, LOGL_ERROR, "Failed to find the endpoint.\n");
+ return NULL;
+ }
+
if (cfg->reset_cb)
- cfg->reset_cb(cfg);
+ cfg->reset_cb(endp->tcfg);
return NULL;
}