Skinny: do not add call to missed calls list if answered elsewhere.
Patch updates skinny devices with a SKINNY_CONNECTED callstate if an inbound ringing or callwaiting call is answered elsewhere. ........ Merged revisions 405367 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@405369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
parent
545593fe7b
commit
9ec4d15c8e
|
@ -68,6 +68,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
|||
#include "asterisk/manager.h"
|
||||
#include "asterisk/say.h"
|
||||
#include "asterisk/astdb.h"
|
||||
#include "asterisk/causes.h"
|
||||
#include "asterisk/pickup.h"
|
||||
#include "asterisk/app.h"
|
||||
#include "asterisk/musiconhold.h"
|
||||
|
@ -5772,6 +5773,10 @@ static void setsubstate(struct skinny_subchannel *sub, int state)
|
|||
sub->related->related = NULL;
|
||||
}
|
||||
|
||||
if ((sub->substate == SUBSTATE_RINGIN || sub->substate == SUBSTATE_CALLWAIT) && ast_channel_hangupcause(sub->owner) == AST_CAUSE_ANSWERED_ELSEWHERE) {
|
||||
transmit_callstate(d, l->instance, sub->callid, SKINNY_CONNECTED);
|
||||
}
|
||||
|
||||
if (sub == l->activesub) {
|
||||
l->activesub = NULL;
|
||||
transmit_closereceivechannel(d, sub);
|
||||
|
|
Loading…
Reference in New Issue