入口函数load_module
load_config
ast_channel_register console_tech
ast_cli_register_multiple
console_tech需要提供一系列的毁掉函数,比如
static struct ast_channel_tech console_tech = {
.type = "Console",
.description = "Console Channel Driver",
.requester = console_request,
.send_digit_begin = console_digit_begin,
.send_digit_end = console_digit_end,
.send_text = console_text,
.hangup = console_hangup,
.answer = console_answer,
.read = console_read,
.call = console_call,
.write = console_write,
.indicate = console_indicate,
.fixup = console_fixup,
};
answer一般会启动monitor thread
sample: chan_console.c
http://svn.asterisk.org/svn/asterisk/trunk/channels/chan_oss.c
https://code.google.com/p/asterisk-chan-dongle/
讨论
http://lists.digium.com/pipermail/asterisk-dev/2008-January/031719.html