提交 635fbebf authored 作者: gled's avatar gled

quick hangup add

上级 3ed2cbca
...@@ -115,15 +115,30 @@ static switch_status_t find_and_exec_command(char *cmd, int fd_reply,switch_core ...@@ -115,15 +115,30 @@ static switch_status_t find_and_exec_command(char *cmd, int fd_reply,switch_core
*/ */
for (x=0; x < argc; x++) { for (x=0; x < argc; x++) {
if ( !strcasecmp(argv[x], "ANSWER") ) { if ( !strcasecmp(argv[x], "ANSWER") ) {
switch_channel_t *channel = switch_core_session_get_channel(session); y = switch_channel_answer(switch_core_session_get_channel(session));
y = switch_channel_answer(channel);
buf = malloc(20 * sizeof(char)); buf = malloc(20 * sizeof(char));
memset (buf, 0, sizeof(buf));
sprintf(buf,"200 result=%d\n\n",y); sprintf(buf,"200 result=%d\n\n",y);
write(fd_reply,buf,strlen(buf)); write(fd_reply,buf,strlen(buf));
free(buf); free(buf);
break;
} }
else if (!strcasecmp(argv[x],"HANGUP")) { else if (!strcasecmp(argv[x],"HANGUP")) {
switch_call_cause_t cause = SWITCH_CAUSE_NORMAL_CLEARING;
if (!zstr(argv[x+1])) {
cause = switch_channel_str2cause(argv[x+1]);
}
y = switch_channel_hangup(switch_core_session_get_channel(session), cause);
buf = malloc(20 * sizeof(char));
memset (buf, 0, sizeof(buf));
sprintf(buf,"200 result=%d\n\n",y);
write(fd_reply,buf,strlen(buf));
free(buf);
break;
} }
else if (!strcasecmp(argv[x],"EXEC")) { else if (!strcasecmp(argv[x],"EXEC")) {
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论