aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xapps/app_talkdetect.c6
-rwxr-xr-xchannels/chan_sip.c2
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);