chan_sip: Expand hook flash recognition.

Some ATAs send hook flash events as application/hook-flash, rather than a DTMF
event. Now, we also recognize hook-flash as a flash event.

ASTERISK-29370

Change-Id: I1c3b82a040dff3affcd94bad8ce33edc90c04725
This commit is contained in:
Naveen Albert 2021-05-13 09:50:02 -04:00 committed by Joshua Colp
parent 6d5cac1d10
commit 7b82587dd6
1 changed files with 12 additions and 0 deletions

View File

@ -22626,6 +22626,18 @@ static void handle_request_info(struct sip_pvt *p, struct sip_request *req)
const char *c = sip_get_header(req, "Content-Type");
/* Need to check the media/type */
if (!strcasecmp(c, "application/hook-flash")) {
/* send a FLASH event, for ATAs that send flash as hook-flash not dtmf */
struct ast_frame f = { AST_FRAME_CONTROL, { AST_CONTROL_FLASH, } };
ast_queue_frame(p->owner, &f);
if (sipdebug) {
ast_verbose("* DTMF-relay event received: FLASH\n");
}
transmit_response(p, "200 OK", req);
return;
}
if (!strcasecmp(c, "application/dtmf-relay") ||
!strcasecmp(c, "application/vnd.nortelnetworks.digits") ||
!strcasecmp(c, "application/dtmf")) {