Accept MGCP keepalive

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.0
Mark Spencer 22 years ago
parent 813531edd4
commit 2a3888bfac

@ -2139,15 +2139,22 @@ static int handle_request(struct mgcp_subchannel *sub, struct mgcp_request *req,
} }
/* Clear out potential response */ /* Clear out potential response */
if (!strcasecmp(req->verb, "RSIP")) { if (!strcasecmp(req->verb, "RSIP")) {
dump_queue(p); /* Test if this RSIP request is just a keepalive */
if (option_verbose > 2) { if(!strcasecmp( get_header(req, "RM"), "X-keepalive")) {
ast_verbose(VERBOSE_PREFIX_3 "Resetting interface %s@%s\n", p->name, p->parent->name); if (option_verbose > 2)
} ast_verbose(VERBOSE_PREFIX_3 "Received keepalive request from %s@%s\n", p->name, p->parent->name);
if (sub->owner) { transmit_response(sub, "200", req, "OK");
ast_softhangup(sub->owner, AST_SOFTHANGUP_DEV); } else {
} dump_queue(p);
transmit_response(sub, "200", req, "OK"); if (option_verbose > 2) {
transmit_notify_request(sub, ""); ast_verbose(VERBOSE_PREFIX_3 "Resetting interface %s@%s\n", p->name, p->parent->name);
}
if (sub->owner) {
ast_softhangup(sub->owner, AST_SOFTHANGUP_DEV);
}
transmit_response(sub, "200", req, "OK");
transmit_notify_request(sub, "");
}
} else if (!strcasecmp(req->verb, "NTFY")) { } else if (!strcasecmp(req->verb, "NTFY")) {
/* Acknowledge and be sure we keep looking for the same things */ /* Acknowledge and be sure we keep looking for the same things */
transmit_response(sub, "200", req, "OK"); transmit_response(sub, "200", req, "OK");

Loading…
Cancel
Save