projects
/
lcr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Adding forwarding of DTMF and keypad between peers
[lcr.git]
/
chan_lcr.c
diff --git
a/chan_lcr.c
b/chan_lcr.c
index
20d522f
..
25515d0
100644
(file)
--- a/
chan_lcr.c
+++ b/
chan_lcr.c
@@
-246,8
+246,8
@@
void chan_lcr_log(int type, const char *file, int line, const char *function, st
strncpy(ast_text, ast->name, sizeof(ast_text)-1);
ast_text[sizeof(ast_text)-1] = '\0';
strncpy(ast_text, ast->name, sizeof(ast_text)-1);
ast_text[sizeof(ast_text)-1] = '\0';
-printf("\n[call=%s ast=%s] %s\n", call_text, ast_text, buffer);
// ast_log(type, file, line, function, "[call=%s ast=%s] %s", call_text, ast_text, buffer);
// ast_log(type, file, line, function, "[call=%s ast=%s] %s", call_text, ast_text, buffer);
+ printf("[call=%s ast=%s] %s", call_text, ast_text, buffer);
ast_mutex_unlock(&log_lock);
}
ast_mutex_unlock(&log_lock);
}
@@
-881,8
+881,11
@@
static void lcr_in_setup(struct chan_call *call, int message_type, union paramet
strncpy(ast->context, param->setup.context, AST_MAX_CONTEXT-1);
else
strncpy(ast->context, param->setup.callerinfo.interface, AST_MAX_CONTEXT-1);
strncpy(ast->context, param->setup.context, AST_MAX_CONTEXT-1);
else
strncpy(ast->context, param->setup.callerinfo.interface, AST_MAX_CONTEXT-1);
+ memset(&ast->cid, 0, sizeof(ast->cid));
if (param->setup.callerinfo.id[0])
ast->cid.cid_num = strdup(param->setup.callerinfo.id);
if (param->setup.callerinfo.id[0])
ast->cid.cid_num = strdup(param->setup.callerinfo.id);
+ if (param->setup.callerinfo.id2[0])
+ ast->cid.cid_ani = strdup(param->setup.callerinfo.id2);
if (param->setup.callerinfo.name[0])
ast->cid.cid_name = strdup(param->setup.callerinfo.name);
if (param->setup.redirinfo.id[0])
if (param->setup.callerinfo.name[0])
ast->cid.cid_name = strdup(param->setup.callerinfo.name);
if (param->setup.redirinfo.id[0])
@@
-1669,7
+1672,7
@@
again:
if (*p && ast) {
if (ast_channel_trylock(ast)) {
ast_mutex_unlock(&chan_lock);
if (*p && ast) {
if (ast_channel_trylock(ast)) {
ast_mutex_unlock(&chan_lock);
- usleep(1
000
);
+ usleep(1);
ast_mutex_lock(&chan_lock);
goto again;
}
ast_mutex_lock(&chan_lock);
goto again;
}
@@
-1977,8
+1980,8
@@
static void send_digit_to_chan(struct ast_channel * ast, char digit )
ast_playtones_start(ast,0,dtmf_tones[15], 0);
else {
/* not handled */
ast_playtones_start(ast,0,dtmf_tones[15], 0);
else {
/* not handled */
-
// ast_log(LOG_DEBUG
, "Unable to handle DTMF tone "
-
//
"'%c' for '%s'\n", digit, ast->name);
+
CDEBUG(NULL, ast
, "Unable to handle DTMF tone "
+
"'%c' for '%s'\n", digit, ast->name);
}
}
}
}
@@
-2194,7
+2197,7
@@
static int lcr_write(struct ast_channel *ast, struct ast_frame *f)
static struct ast_frame *lcr_read(struct ast_channel *ast)
{
struct chan_call *call;
static struct ast_frame *lcr_read(struct ast_channel *ast)
{
struct chan_call *call;
- int len;
+ int len
= 0
;
ast_mutex_lock(&chan_lock);
call = ast->tech_pvt;
ast_mutex_lock(&chan_lock);
call = ast->tech_pvt;