AST_CONTROL_CONNECTED_LINE frame type processing added to setup DisplayIE field

incorrect q.931 message order filtered on incoming calls (first msg must be setup, 
next must be not setup)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@242645 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Alexandr Anikin
2010-01-24 22:42:11 +00:00
parent 8f356343dd
commit d48fe3c81d
6 changed files with 84 additions and 2 deletions

View File

@@ -494,6 +494,54 @@ OOStkCmdStat ooSendDTMFDigit(const char *callToken, const char* dtmf)
return OO_STKCMD_SUCCESS;
}
OOStkCmdStat ooSetANI(const char *callToken, const char* ani)
{
OOStackCommand cmd;
OOH323CallData *call;
if(!callToken)
{
return OO_STKCMD_INVALIDPARAM;
}
if(!(call = ooFindCallByToken(callToken))) {
return OO_STKCMD_INVALIDPARAM;
}
if(call->CmdChan == 0)
{
if(ooCreateCallCmdConnection(call) != OO_OK)
return OO_STKCMD_CONNECTIONERR;
}
memset(&cmd, 0, sizeof(OOStackCommand));
cmd.type = OO_CMD_SETANI;
cmd.param1 = (void*) malloc(strlen(callToken)+1);
cmd.param2 = (void*) malloc(strlen(ani)+1);
if(!cmd.param1 || !cmd.param2)
{
if(cmd.param1) free(cmd.param1); /* Release memory */
if(cmd.param2) free(cmd.param2);
return OO_STKCMD_MEMERR;
}
strcpy((char*)cmd.param1, callToken);
cmd.plen1 = strlen(callToken);
strcpy((char*)cmd.param2, ani);
cmd.plen2 = strlen(ani);
if(ooWriteCallStackCommand(call,&cmd) != OO_OK)
{
free(cmd.param1);
free(cmd.param2);
return OO_STKCMD_WRITEERR;
}
free(cmd.param1);
free(cmd.param2);
return OO_STKCMD_SUCCESS;
}
OOStkCmdStat ooRequestChangeMode(const char *callToken, int isT38Mode)
{
OOStackCommand cmd;