Added capicommand(keypad)

(untestet).
This commit is contained in:
MelwareDE 2010-07-23 08:08:40 +00:00
parent a4f7b18361
commit e3d9df8417
3 changed files with 39 additions and 0 deletions

View File

@ -11,6 +11,7 @@ HEAD
- Add 'econtransitconn' configurations parameter. Allows to preserve
EC for transit connections
- added variable DISCONNECT_IND_REASON to get real reason code from CAPI
- added capicommand(keypad)
chan_capi-1.1.5
------------------

5
README
View File

@ -188,6 +188,11 @@ Enable/Disable echocancel:
econtransitconn=2 ; Deactivate EC on primary call of transit connection only
econtransitconn=3 ; Do not deactivate EC on transit connections
Send Keypad Facility:
Send Keypad Faciliaty information.
Example:
exten => s,1,capicommand(keypad|<digits>)
Malicious Call Identification:
Reports a call of malicious nature.
Example:

View File

@ -5694,6 +5694,38 @@ static int pbx_capi_ect(struct ast_channel *c, char *param)
return 0;
}
/*
* send keypad facility
*/
static int pbx_capi_keypad(struct ast_channel *c, char *param)
{
struct capi_pvt *i = CC_CHANNEL_PVT(c);
unsigned char buffer[32];
int length;
if ((!param) || (!(*param))) {
cc_log(LOG_WARNING, "Parameter for keypad missing.\n");
return -1;
}
length = strlen(param);
if (length > (sizeof(buffer) - 1))
length = sizeof(buffer) - 1;
buffer[0] = length;
memcpy(&buffer[1], param, length);
capi_sendf(NULL, 0, CAPI_INFO_REQ, i->PLCI, get_capi_MessageNumber(),
"()(()s()()())",
buffer
);
cc_verbose(2, 1, VERBOSE_PREFIX_4 "%s: sent KEYPAD [%s] for PLCI=%#x\n",
i->vname, param, i->PLCI);
return 0;
}
/*
* hold a call
*/
@ -6771,6 +6803,7 @@ static struct capicommands_s {
{ "getplci", pbx_capi_getplci, 1, 0 },
{ "malicious", pbx_capi_malicious, 1, 0 },
{ "keypad", pbx_capi_keypad, 1, 0 },
{ "hold", pbx_capi_hold, 1, 0 },
{ "holdtype", pbx_capi_holdtype, 1, 0 },
{ "retrieve", pbx_capi_retrieve, 0, 0 },