asteriskインストールの確認
以下のコマンドでモジュールがインストールされたディレクトリを調べる。
[root@asterisk local]# locate asterisk | grep -vE "/usr/src/"
以下にSIPモジュールがある事が確認できた
[root@asterisk local]# ls /usr/lib64/asterisk/modules/chan_sip.so /usr/lib64/asterisk/modules/chan_sip.so
以下のコマンドで asteriskを起動してみる。
以下のようにして起動すると、asteriskを起動してコンソール接続をする
[root@asterisk local]# asterisk -U asterisk -G asterisk [root@asterisk local]# asterisk -vvvvr Asterisk 1.8.20.0, Copyright (C) 1999 - 2012 Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 1.8.20.0 currently running on asterisk (pid = 31027) Verbosity was 0 and is now 4 asterisk*CLI> asterisk*CLI>
以下のようにすると asteriskサーバの中で使用できるコマンドの一覧が表示できる
asterisk*CLI> help ! Execute a shell command ael reload Reload AEL configuration ael set debug {read|tokens|mac Enable AEL debugging flags agent logoff Sets an agent offline agent show Show status of agents agent show online Show all online agents agi dump html Dumps a list of AGI commands in HTML format agi exec Add AGI command to a channel in Async AGI agi set debug [on|off] Enable/Disable AGI debugging agi show commands [topic] List AGI commands or specific help aoc set debug enable cli debugging of AOC messages cc cancel Kill a CC transaction cc report status Reports CC stats cdr show status Display the CDR status cel show status Display the CEL status channel originate Originate a call channel redirect Redirect a call channel request hangup Request a hangup on a given channel cli check permissions Try a permissions config for a user cli reload permissions Reload CLI permissions config cli show aliases Show CLI command aliases cli show permissions Show CLI permissions config list Show all files that have loaded a configuration file config reload Force a reload on modules using a particular configuration file core abort shutdown Cancel a running shutdown core clear profile Clear profiling info core ping taskprocessor Ping a named task processor core reload Global reload core restart gracefully Restart Asterisk gracefully core restart now Restart Asterisk immediately core restart when convenient Restart Asterisk at empty call volume core set debug channel Enable/disable debugging on a channel core set {debug|verbose} Set level of debug/verbose chattiness core show applications [like|d Shows registered dialplan applications core show application Describe a specific dialplan application core show calls [uptime] Display information on calls core show channels [concise|ve 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 [audio|video| 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 [like] List versions of files used to build Asterisk core show functions [like] Shows registered dialplan functions core show function Describe a specific dialplan function core show help Display help list, or specific help on a command core show hints Show dialplan hints core show hint Show dialplan hint 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 settings Show some core settings core show switches Show alternative switches core show sysinfo Show System Information core show taskprocessors List instantiated task processors and statistics core show threads Show running threads core show translation Display translation matrix core show uptime [seconds] Show uptime information core show version Display version info core show warranty Show the warranty (if any) for this copy of Asterisk core stop gracefully Gracefully shut down Asterisk core stop now Shut down Asterisk immediately core stop when convenient Shut down Asterisk at empty call volume core waitfullybooted Wait for Asterisk to be fully booted data get Data API get data show providers Show data providers 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 devstate change Change a custom device state devstate list List currently known custom device states dialplan add extension Add new extension into context dialplan add ignorepat Add new ignore pattern dialplan add include Include context in other context dialplan debug Show fast extension pattern matching data structures 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 current dialplan into a file dialplan set chanvar Set a channel variable dialplan set extenpatternmatch Use the Old extension pattern matching algorithm. dialplan set extenpatternmatch Use the New extension pattern matching algorithm. dialplan set global Set global dialplan variable dialplan show chanvar Show channel variables dialplan show globals Show global dialplan variables dialplan show Show dialplan dnsmgr refresh Performs an immediate refresh dnsmgr reload Reloads the DNS manager configuration dnsmgr status Display the DNS manager status dundi flush [stats] Flush DUNDi cache dundi lookup Lookup a number in DUNDi dundi precache Precache a number in DUNDi dundi query Query a DUNDi EID dundi set debug {on|off} Enable/Disable DUNDi debugging dundi show entityid Display Global Entity ID dundi show mappings Show DUNDi mappings dundi show peers [registered|i 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 {on|off} Enable/Disable DUNDi historic records event dump cache Dump the internal event cache (for debugging) features reload Reloads configured features features show Lists configured features file convert Convert audio file group show channels Display active channels with group(s) hangup request <no description available> help <no description available> 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 {on|off|peer} Enable/Disable IAX debugging iax2 set debug jb {on|off} Enable/Disable IAX jitterbuffer debugging iax2 set debug trunk {on|off} Enable/Disable IAX trunk debugging iax2 set mtu Set the IAX systemwide trunking MTU iax2 show cache Display IAX cached dialplan iax2 show callnumber usage Show current entries in IP call number limit table iax2 show channels List active IAX channels iax2 show firmware List available IAX firmware iax2 show netstats List active IAX channel netstats iax2 show peer Show details on specific IAX peer iax2 show peers List defined IAX peers 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 [like] List defined IAX users iax2 test losspct Set IAX2 incoming frame loss percentage iax2 unregister Unregister (force expiration) an IAX2 peer from the registry 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 set level {DEBUG|NOTICE Enables/Disables a specific logging level for this console logger show channels List configured log channels manager reload Reload manager configurations manager set debug [on|off] Show, enable, disable debugging of the manager code 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 settings Show manager global settings manager show users List configured manager users manager show user Display information on a specific manager user mixmonitor {start|stop} Execute a MixMonitor command module load Load a module by name module reload Reload configuration for a module module show [like] List modules and info module unload Unload a module by name moh reload Reload MusicOnHold moh show classes List MusicOnHold classes moh show files List MusicOnHold file-based classes no debug channel Disable debugging on channel(s) originate <no description available> parkedcalls show List currently parked calls phoneprov show routes Show registered phoneprov http routes pri intense debug span <no description available> queue add member Add a channel to a specified queue queue reload {parameters|membe Reload queues, members, queue rules, or parameters queue remove member Removes a channel from a specified queue queue reset stats Reset statistics for a queue queue set penalty Set penalty for a channel of a specified queue queue show Show status of a specified queue queue show rules Show the rules defined in queuerules.conf queue {pause|unpause} member Pause or unpause a queue member realtime destroy Delete a row from a RealTime database realtime load Used to print out RealTime variables. realtime store Store a new row into a RealTime database realtime update Used to update RealTime variables. realtime update2 Used to test the RealTime update2 method reload <no description available> rtcp set debug {on|off|ip} Enable/Disable RTCP debugging rtcp set stats {on|off} Enable/Disable RTCP stats rtp set debug {on|off|ip} Enable/Disable RTP debugging say load [new|old] Set or show the say mode sip notify Send a notify packet to a SIP peer sip prune realtime [peer|all] Prune cached Realtime users/peers sip qualify peer Send an OPTIONS packet to a peer sip reload Reload SIP configuration sip set debug {on|off|ip|peer} Enable/Disable SIP debugging sip set history {on|off} Enable/Disable SIP history sip show {channels|subscriptio List active SIP channels or subscriptions sip show channelstats List statistics for 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 mwi Show MWI subscriptions 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 sched Present a report on the status of the scheduler queue sip show settings Show SIP global settings sip show tcp List TCP Connections sip show users List defined SIP users sip show user Show details on specific SIP user sip unregister Unregister (force expiration) a SIP peer from the registry stun set debug {on|off} Enable/Disable STUN debugging timing test Run a timing test udptl set debug {on|off|ip} Enable/Disable UDPTL debugging ulimit Set or show process resource limits asterisk*CLI> asterisk*CLI>
SIPコマンドが存在する事を確認できた
asterisk*CLI> sip set debug on SIP Debugging enabled asterisk*CLI>
以下のファイルに端末を登録した。
# vi /etc/asterisk/sip.conf [4444] type=friend defaultuser=4444 secret=test canreinvite=no host=dynamic
asteriskサーバのファイアーウォールを無効にした
[root@asterisk asterisk]# service iptables stop
この状態でSIPクライアント(X-Lite)でレジストをしてみたら登録に成功した。
なぜバイナリ版では chan_sip.so がインストールできたかはわからない。
もしかしたらソースでは /usr/lib/ 以下にモジュールがインストールされ、
バイナリでは /usr/lib64/ 以下にモジュールがインストールされたので
ソース版は 32bit OS用だったのかもしれない。
それでうまくインストールができなかったのかもしれない。
ソースからのインストールがうまくいった Xen 上の CentOS は 32bitOSだった。