|
|
|
@ -108,7 +108,6 @@ extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
/**/
|
|
|
|
|
|
|
|
|
|
static const char desc[] = "VoiceTronix V6PCI/V12PCI/V4PCI API Support";
|
|
|
|
|
static const char tdesc[] = "Standard VoiceTronix API Driver";
|
|
|
|
|
static const char config[] = "vpb.conf";
|
|
|
|
|
|
|
|
|
@ -360,71 +359,71 @@ static int vpb_indicate(struct ast_channel *ast, int condition, const void *data
|
|
|
|
|
static int vpb_fixup(struct ast_channel *oldchan, struct ast_channel *newchan);
|
|
|
|
|
|
|
|
|
|
static struct ast_channel_tech vpb_tech = {
|
|
|
|
|
type: "vpb",
|
|
|
|
|
description: tdesc,
|
|
|
|
|
capabilities: NULL,
|
|
|
|
|
properties: 0,
|
|
|
|
|
requester: vpb_request,
|
|
|
|
|
requester_with_stream_topology: NULL,
|
|
|
|
|
devicestate: NULL,
|
|
|
|
|
presencestate: NULL,
|
|
|
|
|
send_digit_begin: vpb_digit_begin,
|
|
|
|
|
send_digit_end: vpb_digit_end,
|
|
|
|
|
call: vpb_call,
|
|
|
|
|
hangup: vpb_hangup,
|
|
|
|
|
answer: vpb_answer,
|
|
|
|
|
read: vpb_read,
|
|
|
|
|
read_stream: NULL,
|
|
|
|
|
write: vpb_write,
|
|
|
|
|
write_stream: NULL,
|
|
|
|
|
send_text: NULL,
|
|
|
|
|
send_image: NULL,
|
|
|
|
|
send_html: NULL,
|
|
|
|
|
exception: NULL,
|
|
|
|
|
early_bridge: NULL,
|
|
|
|
|
indicate: vpb_indicate,
|
|
|
|
|
fixup: vpb_fixup,
|
|
|
|
|
setoption: NULL,
|
|
|
|
|
queryoption: NULL,
|
|
|
|
|
transfer: NULL,
|
|
|
|
|
write_video: NULL,
|
|
|
|
|
write_text: NULL,
|
|
|
|
|
func_channel_read: NULL,
|
|
|
|
|
func_channel_write: NULL,
|
|
|
|
|
.type = "vpb",
|
|
|
|
|
.description = tdesc,
|
|
|
|
|
.capabilities = NULL,
|
|
|
|
|
.properties = 0,
|
|
|
|
|
.requester = vpb_request,
|
|
|
|
|
.requester_with_stream_topology = NULL,
|
|
|
|
|
.devicestate = NULL,
|
|
|
|
|
.presencestate = NULL,
|
|
|
|
|
.send_digit_begin = vpb_digit_begin,
|
|
|
|
|
.send_digit_end = vpb_digit_end,
|
|
|
|
|
.call = vpb_call,
|
|
|
|
|
.hangup = vpb_hangup,
|
|
|
|
|
.answer = vpb_answer,
|
|
|
|
|
.read = vpb_read,
|
|
|
|
|
.read_stream = NULL,
|
|
|
|
|
.write = vpb_write,
|
|
|
|
|
.write_stream = NULL,
|
|
|
|
|
.send_text = NULL,
|
|
|
|
|
.send_image = NULL,
|
|
|
|
|
.send_html = NULL,
|
|
|
|
|
.exception = NULL,
|
|
|
|
|
.early_bridge = NULL,
|
|
|
|
|
.indicate = vpb_indicate,
|
|
|
|
|
.fixup = vpb_fixup,
|
|
|
|
|
.setoption = NULL,
|
|
|
|
|
.queryoption = NULL,
|
|
|
|
|
.transfer = NULL,
|
|
|
|
|
.write_video = NULL,
|
|
|
|
|
.write_text = NULL,
|
|
|
|
|
.func_channel_read = NULL,
|
|
|
|
|
.func_channel_write = NULL,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct ast_channel_tech vpb_tech_indicate = {
|
|
|
|
|
type: "vpb",
|
|
|
|
|
description: tdesc,
|
|
|
|
|
capabilities: NULL,
|
|
|
|
|
properties: 0,
|
|
|
|
|
requester: vpb_request,
|
|
|
|
|
requester_with_stream_topology: NULL,
|
|
|
|
|
devicestate: NULL,
|
|
|
|
|
presencestate: NULL,
|
|
|
|
|
send_digit_begin: vpb_digit_begin,
|
|
|
|
|
send_digit_end: vpb_digit_end,
|
|
|
|
|
call: vpb_call,
|
|
|
|
|
hangup: vpb_hangup,
|
|
|
|
|
answer: vpb_answer,
|
|
|
|
|
read: vpb_read,
|
|
|
|
|
read_stream: NULL,
|
|
|
|
|
write: vpb_write,
|
|
|
|
|
write_stream: NULL,
|
|
|
|
|
send_text: NULL,
|
|
|
|
|
send_image: NULL,
|
|
|
|
|
send_html: NULL,
|
|
|
|
|
exception: NULL,
|
|
|
|
|
early_bridge: NULL,
|
|
|
|
|
indicate: NULL,
|
|
|
|
|
fixup: vpb_fixup,
|
|
|
|
|
setoption: NULL,
|
|
|
|
|
queryoption: NULL,
|
|
|
|
|
transfer: NULL,
|
|
|
|
|
write_video: NULL,
|
|
|
|
|
write_text: NULL,
|
|
|
|
|
func_channel_read: NULL,
|
|
|
|
|
func_channel_write: NULL,
|
|
|
|
|
.type = "vpb",
|
|
|
|
|
.description = tdesc,
|
|
|
|
|
.capabilities = NULL,
|
|
|
|
|
.properties = 0,
|
|
|
|
|
.requester = vpb_request,
|
|
|
|
|
.requester_with_stream_topology = NULL,
|
|
|
|
|
.devicestate = NULL,
|
|
|
|
|
.presencestate = NULL,
|
|
|
|
|
.send_digit_begin = vpb_digit_begin,
|
|
|
|
|
.send_digit_end = vpb_digit_end,
|
|
|
|
|
.call = vpb_call,
|
|
|
|
|
.hangup = vpb_hangup,
|
|
|
|
|
.answer = vpb_answer,
|
|
|
|
|
.read = vpb_read,
|
|
|
|
|
.read_stream = NULL,
|
|
|
|
|
.write = vpb_write,
|
|
|
|
|
.write_stream = NULL,
|
|
|
|
|
.send_text = NULL,
|
|
|
|
|
.send_image = NULL,
|
|
|
|
|
.send_html = NULL,
|
|
|
|
|
.exception = NULL,
|
|
|
|
|
.early_bridge = NULL,
|
|
|
|
|
.indicate = NULL,
|
|
|
|
|
.fixup = vpb_fixup,
|
|
|
|
|
.setoption = NULL,
|
|
|
|
|
.queryoption = NULL,
|
|
|
|
|
.transfer = NULL,
|
|
|
|
|
.write_video = NULL,
|
|
|
|
|
.write_text = NULL,
|
|
|
|
|
.func_channel_read = NULL,
|
|
|
|
|
.func_channel_write = NULL,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#if defined(VPB_NATIVE_BRIDGING)
|
|
|
|
|