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:
Damien Wedhorn 2014-01-14 03:27:47 +00:00
parent 545593fe7b
commit 9ec4d15c8e
1 changed files with 5 additions and 0 deletions

View File

@ -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);