Reset EC if hold reported by netwwork
This commit is contained in:
parent
9f1b2b83cc
commit
e0484c4db5
|
@ -577,7 +577,7 @@ static void capi_facility_add_datetime(unsigned char *facilityarray)
|
|||
/*
|
||||
* Echo cancellation is for cards w/ integrated echo cancellation only
|
||||
*/
|
||||
static void capi_echo_canceller(struct capi_pvt *i, int function)
|
||||
void capi_echo_canceller(struct capi_pvt *i, int function)
|
||||
{
|
||||
int ecAvail = 0;
|
||||
|
||||
|
|
|
@ -809,6 +809,11 @@ void pbx_capi_unlock_interfaces(void);
|
|||
*/
|
||||
int pbx_capi_cli_exec_capicommand(struct ast_channel *chan, const char *data);
|
||||
|
||||
/*!
|
||||
\brief EC control
|
||||
*/
|
||||
void capi_echo_canceller(struct capi_pvt *i, int function);
|
||||
|
||||
#ifdef DIVA_STREAMING
|
||||
struct _diva_streaming_vector;
|
||||
void capidev_handle_data_b3_indication_vector (struct capi_pvt *i,
|
||||
|
|
|
@ -640,11 +640,18 @@ int handle_facility_indication_supplementary(
|
|||
#endif
|
||||
}
|
||||
} else {
|
||||
cc_verbose(4, 0, VERBOSE_PREFIX_1 "CAPI%u Rx MWI %s for '%s@default %s %s time '%s' service %d",
|
||||
cc_verbose(4, 0, VERBOSE_PREFIX_1 "CAPI%u Rx MWI %s for '%s@default %s %s time '%s' service %d\n",
|
||||
messageStatus == 0 ? "add" : "del", mailboxName, controllingUserNumberName, controllingUserProvidedNumberName,
|
||||
mwiTimeName, basicService);
|
||||
}
|
||||
} return ret;
|
||||
case 0x8000: /* Hold notification */
|
||||
if ((i->isdnstate & CAPI_ISDN_STATE_EC) != 0) {
|
||||
cc_verbose(4, 0, VERBOSE_PREFIX_1 "%s: EC reset\n", i->vname);
|
||||
capi_echo_canceller(i, EC_FUNCTION_DISABLE);
|
||||
capi_echo_canceller(i, EC_FUNCTION_ENABLE);
|
||||
}
|
||||
return ret;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue