diff options
-rwxr-xr-x | apps/app_talkdetect.c | 6 | ||||
-rwxr-xr-x | channels/chan_sip.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/apps/app_talkdetect.c b/apps/app_talkdetect.c index 5d15d94d8..3fd682eb2 100755 --- a/apps/app_talkdetect.c +++ b/apps/app_talkdetect.c @@ -145,7 +145,13 @@ static int background_detect_exec(struct ast_channel *chan, void *data) if (ms < 0) ms = 0; if ((ms > min) && ((max < 0) || (ms < max))) { + char ms_str[10]; ast_log(LOG_DEBUG, "Found qualified token of %d ms\n", ms); + + /* Save detected talk time (in milliseconds) */ + sprintf(ms_str, "%d", ms ); + pbx_builtin_setvar_helper(chan, "TALK_DETECTED", ms_str); + if (ast_exists_extension(chan, chan->context, "talk", 1, chan->cid.cid_num)) { strncpy(chan->exten, "talk", sizeof(chan->exten) -1 ); chan->priority = 0; diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 71e29c42d..be35003ee 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2638,7 +2638,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req) p->novideo = 1; while ((m = get_sdp_iterate(&iterator, req, "m"))[0] != '\0') { if ((sscanf(m, "audio %d RTP/AVP %n", &x, &len) == 1) || - (sscanf(m, "audio %d/%d RTP/AVP %n", &x, &y, &len) == 1)) { + (sscanf(m, "audio %d/%d RTP/AVP %n", &x, &y, &len) == 2)) { portno = x; /* Scan through the RTP payload types specified in a "m=" line: */ ast_rtp_pt_clear(p->rtp); |