1. 检查依赖的包是否安装:依赖的包有
gcc--libpri, zaptel asterisk ncurses-devel
libtermcap-devel kernel-devel kernel-smp-devel gcc-c++ openssl-devel newt-devel zlib-devel unixODBC-devel libtool make 利用 rpm -q 名称 进行查询看是否安装,无时进行安装,当然用源安装快!
2.asterisk 的安装和环境的搭建
首先在FTP上(自己Google)得到压缩包,或者ssh 远程得到 命令为 get 名称 自己的主机名称:放置目录 安装到/usr/src目录下
解压缩、切换目录(/usr/src/asterisk-xxx)、执行(sudo ./configure)、sudo make、sudo make install 、sudo make samples、sudo make progdocs 修改配置: 1.1 在/etc/asterisk/sip.conf 中添加用户:
[1001]
type=friend secret=test host=dynamic [1002] type=friend secret=test host=dynamic 1.2 /etc/asterisk/extensions.conf 中添加: [test]
exten => 1001,1,Dial(SIP/1001) exten => 1002,1,Dial(SIP/1002) ===============================各项讲解===================================
sip环境的简易配置:(所有的配置文件都在/etc/asterisk目录下,其它地方的配置无效) sip.conf
[general] 所有用户和对端的默认选项 allowoverlap=no bindport=5060 监听端口 bindaddr=0.0.0.0 监听所有过来的电话 srvlookup=yes 使用 DNS 服务 qualify=yes context=test 拨号方案 [1001] type=friend 类型 用户类型的用于认证呼入呼叫 端Peer是用于呼出呼叫 朋友类型两者都有 secret=test 密码 host=dynamic 动态IP [1002] type=friend secret=test host=dynamic extensions.conf
在文档的最后添加: [test] exten => 1001,1,Dial(SIP/1001) 呼叫超时秒数 exten => 1002,1,Dial(SIP/1002) =========================================================================
运行asterisk的命令为:asterisk & or sudo /usr/sbin/asterisk -vvvvvvcg 停止命令为:stop now 连接到命令行:asterisk -rvvv dialplan reload sip reload 显示支持的通信类型: show channeltypes 打开调试信息: sip set debug 现在astersik下的sip环境就搭建完成了,开启astersik ==================================
sudo /usr/sbin/asterisk -vvvvvvcg ================================= 登录到Astersk服务器运行控制台: asterisk -crvvv 查看登录用户 : sip shwo peers *CLI> sip show peers
Name/username Host Dyn Nat ACL Port Status 1004 (Unspecified) D 0 UNKNOWN 1003 (Unspecified) D 0 UNKNOWN 1002 (Unspecified) D 0 UNKNOWN 1001/1001 192.168.123.58 D 39478 OK (101 ms) 4 sip peers [Monitored: 1 online, 3 offline Unmonitored: 0 online, 0 offline] *CLI> 查看详细记录: sip show peer 1001
*CLI> sip show peer 1002 ////注意与查看全部的区别 peers peer
* Name : 1002 Secret : <Set> MD5Secret : <Not set> Context : test Subscr.Cont. : <Not set> Language : AMA flags : Unknown Transfer mode: open CallingPres : Presentation Allowed, Not Screened Callgroup : Pickupgroup : Mailbox : VM Extension : asterisk LastMsgsSent : 32767/65535 Call limit : 0 Dynamic : Yes Callerid : "" <> MaxCallBR : 384 kbps Expire : -1 Insecure : no Nat : RFC3581 ACL : No T38 pt UDPTL : No CanReinvite : Yes PromiscRedir : No User=Phone : No Video Support: No Trust RPID : No Send RPID : No Subscriptions: Yes Overlap dial : No DTMFmode : rfc2833 LastMsg : 0 ToHost : Addr->IP : (Unspecified) Port 0 Defaddr->IP : 0.0.0.0 Port 5060 Def. Username: SIP Options : (none) Codecs : 0x8000e (gsm|ulaw|alaw|h263) Codec Order : (none) Auto-Framing: No Status : UNKNOWN Useragent : Reg. Contact : *CLI>
重新加载拨号方案:dialplan reload *CLI> dialplan reload
== Parsing '/etc/asterisk/extensions.conf': Found == Setting global variable 'CONSOLE' to 'Console/dsp' == Setting global variable 'IAXINFO' to 'guest' == Setting global variable 'TRUNK' to 'Zap/G2' == Setting global variable 'TRUNKMSD' to '1' -- Registered extension context 'dundi-e164-canonical' -- Registered extension context 'dundi-e164-customers' -- Registered extension context 'dundi-e164-via-pstn' -- Registered extension context 'dundi-e164-local' -- Including context 'dundi-e164-canonical' in context 'dundi-e164-local' -- Including context 'dundi-e164-customers' in context 'dundi-e164-local' -- Including context 'dundi-e164-via-pstn' in context 'dundi-e164-local' -- Registered extension context 'dundi-e164-switch' -- Including switch 'DUNDi/e164' in context 'dundi-e164-switch' -- Registered extension context 'dundi-e164-lookup' -- Including context 'dundi-e164-local' in context 'dundi-e164-lookup' -- Including context 'dundi-e164-switch' in context 'dundi-e164-lookup' -- Registered extension context 'macro-dundi-e164' -- Added extension 's' priority 1 to macro-dundi-e164 -- Including context 'dundi-e164-lookup' in context 'macro-dundi-e164' -- Registered extension context 'iaxtel700' -- Added extension '_91700XXXXXXX' priority 1 to iaxtel700 -- Registered extension context 'iaxprovider' -- Registered extension context 'trunkint' -- Added extension '_9011.' priority 1 to trunkint -- Added extension '_9011.' priority 2 to trunkint -- Registered extension context 'trunkld' -- Added extension '_91NXXNXXXXXX' priority 1 to trunkld -- Added extension '_91NXXNXXXXXX' priority 2 to trunkld -- Registered extension context 'trunklocal' -- Added extension '_9NXXXXXX' priority 1 to trunklocal -- Registered extension context 'trunktollfree' -- Added extension '_91800NXXXXXX' priority 1 to trunktollfree -- Added extension '_91888NXXXXXX' priority 1 to trunktollfree -- Added extension '_91877NXXXXXX' priority 1 to trunktollfree -- Added extension '_91866NXXXXXX' priority 1 to trunktollfree -- Registered extension context 'international' -- Including context 'longdistance' in context 'international' -- Including context 'trunkint' in context 'international' -- Registered extension context 'longdistance' -- Including context 'local' in context 'longdistance' -- Including context 'trunkld' in context 'longdistance' -- Registered extension context 'local' -- Including context 'default' in context 'local' -- Including context 'trunklocal' in context 'local' -- Including context 'iaxtel700' in context 'local' -- Including context 'trunktollfree' in context 'local' -- Including context 'iaxprovider' in context 'local' -- Including context 'parkedcalls' in context 'local' -- Registered extension context 'macro-trunkdial' -- Added extension 's' priority 1 to macro-trunkdial -- Added extension 's' priority 2 to macro-trunkdial -- Added extension 's-NOANSWER' priority 1 to macro-trunkdial -- Added extension 's-BUSY' priority 1 to macro-trunkdial -- Added extension '_s-.' priority 1 to macro-trunkdial -- Registered extension context 'macro-stdexten' -- Added extension 's' priority 1 to macro-stdexten -- Added extension 's' priority 2 to macro-stdexten -- Added extension 's-NOANSWER' priority 1 to macro-stdexten -- Added extension 's-NOANSWER' priority 2 to macro-stdexten -- Added extension 's-BUSY' priority 1 to macro-stdexten -- Added extension 's-BUSY' priority 2 to macro-stdexten -- Added extension '_s-.' priority 1 to macro-stdexten -- Added extension 'a' priority 1 to macro-stdexten -- Registered extension context 'macro-stdPrivacyexten' -- Added extension 's' priority 1 to macro-stdPrivacyexten -- Added extension 's' priority 2 to macro-stdPrivacyexten -- Added extension 's-NOANSWER' priority 1 to macro-stdPrivacyexten -- Added extension 's-NOANSWER' priority 2 to macro-stdPrivacyexten -- Added extension 's-BUSY' priority 1 to macro-stdPrivacyexten -- Added extension 's-BUSY' priority 2 to macro-stdPrivacyexten -- Added extension 's-DONTCALL' priority 1 to macro-stdPrivacyexten -- Added extension 's-TORTURE' priority 1 to macro-stdPrivacyexten -- Added extension '_s-.' priority 1 to macro-stdPrivacyexten -- Added extension 'a' priority 1 to macro-stdPrivacyexten -- Registered extension context 'macro-page' -- Added extension 's' priority 1 to macro-page -- Added extension 's' priority 2 to macro-page -- Added extension 's' priority 3 to macro-page -- Added extension 's' priority 4 to macro-page -- Added extension 's' priority 5 to macro-page -- Added extension 's' priority 6 to macro-page -- Added extension 's' priority 7 to macro-page -- Registered extension context 'demo' -- Added extension 's' priority 1 to demo -- Added extension 's' priority 2 to demo -- Added extension 's' priority 3 to demo -- Added extension 's' priority 4 to demo -- Added extension 's' priority 5 to demo -- Added extension 's' priority 6 to demo -- Added extension 's' priority 7 to demo -- Added extension '2' priority 1 to demo -- Added extension '2' priority 2 to demo -- Added extension '3' priority 1 to demo -- Added extension '3' priority 2 to demo -- Added extension '1000' priority 1 to demo -- Added extension '1234' priority 1 to demo -- Added extension '1234' priority 2 to demo -- Added extension '1235' priority 1 to demo -- Added extension '1236' priority 1 to demo -- Added extension '1236' priority 2 to demo -- Added extension '#' priority 1 to demo -- Added extension '#' priority 2 to demo -- Added extension 't' priority 1 to demo -- Added extension 'i' priority 1 to demo -- Added extension '500' priority 1 to demo -- Added extension '500' priority 2 to demo -- Added extension '500' priority 3 to demo -- Added extension '500' priority 4 to demo -- Added extension '600' priority 1 to demo -- Added extension '600' priority 2 to demo -- Added extension '600' priority 3 to demo -- Added extension '600' priority 4 to demo -- Added extension '76245' priority 1 to demo -- Added extension '_7XXX' priority 1 to demo -- Added extension '7999' priority 1 to demo -- Added extension '7999' priority 2 to demo -- Added extension '8500' priority 1 to demo -- Added extension '8500' priority 2 to demo -- Registered extension context 'page' -- Added extension '_X.' priority 1 to page -- Registered extension context 'default' -- Including context 'demo' in context 'default' -- Registered extension context 'test' -- Added extension '1001' priority 1 to test -- Added extension '1002' priority 1 to test -- Added extension '1003' priority 1 to test -- Added extension '1004' priority 1 to test == Parsing '/etc/asterisk/users.conf': Found Dialplan reloaded. *CLI> 重新加载SIP方案:sip reload *CLI> sip reload
*CLI> Reloading SIP == Parsing '/etc/asterisk/sip.conf': Found == Parsing '/etc/asterisk/users.conf': Found == Parsing '/etc/asterisk/sip_notify.conf': Found *CLI> =========================sip 控制台信息=====================================
1. 运行调试常用命令
./asterisk & 在后台运行 ./asterisk -vvvc 启动并尽量多的在控制台显示调试信息 ./asterisk -r 连接 控制台 set verbose 9999 设置打印详细信息 2. 控制台下常用命令 sip reload 重新加载sip信息 sip set debug 设置显示更多的sip信息 sip set debug off 关闭显示更多的sip信息 sip show channels 显示所有活动的sip通道 sip show users 显示用户情况 sip show user xxx 显示用户xxx的情况 dialplan show 显示拨号方案 dialplan reload 重新加载拨号方案 stop gracefully 优雅的停止asterisk stop now 立即停止运行 module show 显示已有的加载
module load cdr_radius.so 加载模块 cdrxxx module reload cdr_radius.so 重新加载模块 cdrxxx module unload cdr_radius.so 卸载模块 cdrxxx core show applications 显示所有的应用 比如 Dial Radius Hangup Answer等 core show channels 显示所有的通话通道 core show codecs 显示所有支持的编码 core show functions 显示所有的功能函数 ------------------------------------------------------------------------- *CLI> help ! Execute a shell command abort halt Cancel a running halt ael debug contexts Enable AEL contexts debug (does nothing) ael debug macros Enable AEL macros debug (does nothing) ael debug read Enable AEL read debug (does nothing) ael debug tokens Enable AEL tokens debug (does nothing) ael nodebug Disable AEL debug messages ael reload Reload AEL configuration agent logoff Sets an agent offline agent show Show status of agents agent show online Show all online agents agi debug Enable AGI debugging agi debug off Disable AGI debugging agi dumphtml Dumps a list of agi commands in html format agi show List AGI commands or specific help cdr status Display the CDR status console active Sets/displays active console console answer Answer an incoming console call console autoanswer Sets/displays autoanswer console boost Sets/displays mic boost in dB console dial Dial an extension on the console console flash Flash a call on the console console hangup Hangup a call on the console console mute Disable mic input console send text Send text to the remote device console transfer Transfer a call to a different extension console unmute Enable mic input core clear profile Clear profiling info core set debug channel Enable/disable debugging on a channel core set debug Set level of debug chattiness core set debug off Turns off debug chattiness core set global Set global dialplan variable core set verbose Set level of verboseness core show applications Shows registered dialplan applications core show application Describe a specific dialplan application core show audio codecs Displays a list of audio codecs core show channels Display information on channels core show channel Display information on a specific channel core show channeltypes List available channel types core show channeltype Give more details on that channel type core show codecs Displays a list of codecs core show codec Shows a specific codec core show config mappings Display config mappings (file names to config engines) core show file formats Displays file formats core show file version List versions of files used to build Asterisk core show functions Shows registered dialplan functions core show function Describe a specific dialplan function core show globals Show global dialplan variables core show hints Show dialplan hints core show image codecs Displays a list of image codecs core show image formats Displays image formats core show license Show the license(s) for this copy of Asterisk core show profile Display profiling info core show switches Show alternative switches core show threads Show running threads core show translation Display translation matrix core show uptime Show uptime information core show version Display version info core show video codecs Displays a list of video codecs core show warranty Show the warranty (if any) for this copy of Asterisk database del Removes database key/value database deltree Removes database keytree/values database get Gets database value database put Adds/updates database value database show Shows database contents database showkey Shows database contents dialplan add extension Add new extension into context dialplan add ignorepat Add new ignore pattern dialplan add include Include context in other context dialplan reload Reload extensions and *only* extensions dialplan remove extension Remove a specified extension dialplan remove ignorepat Remove ignore pattern from context dialplan remove include Remove a specified include from context dialplan save Save dialplan dialplan show Show dialplan dnsmgr reload Reloads the DNS manager configuration dnsmgr status Display the DNS manager status dundi debug Enable DUNDi debugging dundi flush Flush DUNDi cache dundi lookup Lookup a number in DUNDi dundi no debug Disable DUNDi debugging dundi no store history Disable DUNDi historic records dundi precache Precache a number in DUNDi dundi query Query a DUNDi EID dundi show entityid Display Global Entity ID dundi show mappings Show DUNDi mappings dundi show peers Show defined DUNDi peers dundi show peer Show info on a specific DUNDi peer dundi show precache Show DUNDi precache dundi show requests Show DUNDi requests dundi show trans Show active DUNDi transactions dundi store history Enable DUNDi historic records feature show Lists configured features file convert Convert audio file group show channels Display active channels with group(s) help Display help list, or specific help on a command http show status Display HTTP server status iax2 provision Provision an IAX device iax2 prune realtime Prune a cached realtime lookup iax2 reload Reload IAX configuration iax2 set debug Enable IAX debugging iax2 set debug jb Enable IAX jitterbuffer debugging iax2 set debug jb off Disable IAX jitterbuffer debugging iax2 set debug off Disable IAX debugging iax2 set debug trunk Enable IAX trunk debugging iax2 set debug trunk off Disable IAX trunk debugging iax2 show cache Display IAX cached dialplan iax2 show channels List active IAX channels iax2 show firmware List available IAX firmwares iax2 show netstats List active IAX channel netstats iax2 show peers List defined IAX peers iax2 show peer Show details on specific IAX peer iax2 show provisioning Display iax provisioning iax2 show registry Display IAX registration status iax2 show stats Display IAX statistics iax2 show threads Display IAX helper thread info iax2 show users List defined IAX users iax2 test losspct Set IAX2 incoming frame loss percentage indication add Add the given indication to the country indication remove Remove the given indication from the country indication show Display a list of all countries/indications keys init Initialize RSA key passcodes keys show Displays RSA key information local show channels List status of local channels logger mute Toggle logging output to a console logger reload Reopens the log files logger rotate Rotates and reopens the log files logger show channels List configured log channels manager show command Show a manager interface command manager show commands List manager interface commands manager show connected List connected manager interface users manager show eventq List manager interface queued events manager show users List configured manager users manager show user Display information on a specific manager user mgcp audit endpoint Audit specified MGCP endpoint mgcp reload Reload MGCP configuration mgcp set debug Enable MGCP debugging mgcp set debug off Disable MGCP debugging mgcp show endpoints List defined MGCP endpoints mixmonitor Execute a MixMonitor command. module load Load a module by name module reload Reload configuration module show List modules and info module show like List modules and info module unload Unload a module by name moh reload Music On Hold moh show classes List MOH classes moh show files List MOH file-based classes no debug channel originate Originate a call queue add member Add a channel to a specified queue queue remove member Removes a channel from a specified queue queue show Show status of a specified queue realtime load Used to print out RealTime variables. realtime pgsql status Shows connection information for the Postgresql RealTime driver realtime update Used to update RealTime variables. restart gracefully Restart Asterisk gracefully restart now Restart Asterisk immediately restart when convenient Restart Asterisk at empty call volume rtcp debug ip Enable RTCP debugging on IP rtcp debug Enable RTCP debugging rtcp debug off Disable RTCP debugging rtcp stats Enable RTCP stats rtcp stats off Disable RTCP stats rtp debug ip Enable RTP debugging on IP rtp debug Enable RTP debugging rtp debug off Disable RTP debugging say load set/show the say mode show parkedcalls Lists parked calls show queues sip history Enable SIP history sip history off Disable SIP history sip notify Send a notify packet to a SIP peer sip prune realtime Prune cached Realtime object(s) sip prune realtime peer Prune cached Realtime peer(s) sip prune realtime user Prune cached Realtime user(s) sip reload Reload SIP configuration sip set debug Enable SIP debugging sip set debug ip Enable SIP debugging on IP sip set debug off Disable SIP debugging sip set debug peer Enable SIP debugging on Peername sip show channels List active SIP channels sip show channel Show detailed SIP channel info sip show domains List our local SIP domains. sip show history Show SIP dialog history sip show inuse List all inuse/limits sip show objects List all SIP object allocations sip show peers List defined SIP peers sip show peer Show details on specific SIP peer sip show registry List SIP registration status sip show settings Show SIP global settings sip show subscriptions List active SIP subscriptions sip show users List defined SIP users sip show user Show details on specific SIP user skinny reset Reset Skinny device(s) skinny set debug Enable Skinny debugging skinny set debug off Disable Skinny debugging skinny show devices List defined Skinny devices skinny show lines List defined Skinny lines per device soft hangup Request a hangup on a given channel stop gracefully Gracefully shut down Asterisk stop now Shut down Asterisk immediately stop when convenient Shut down Asterisk at empty call volume stun debug Enable STUN debugging stun debug off Disable STUN debugging udptl debug Enable UDPTL debugging udptl debug ip Enable UDPTL debugging on IP udptl debug off Disable UDPTL debugging voicemail show users List defined voicemail boxes voicemail show zones List zone message formats *CLI> [Jan 20 16:15:05] NOTICE[6579]: chan_sip.c:15094 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 1001 |
|
来自: shangat > 《Linux 文章》