2012年7月14日 星期六

[Asterisk] AMI ,Asterisk manager Interface ,如何從外網,內網連接AMI的端口呢?

Server環境:     Asterisk 1.8   架設在一個 中華電信租來的小server上 


測試電腦環境: Win 7 64bit ,浮動IP
使用軟體:Putty
SoftPhone: LinPhone 3.5.2  此為安裝在電腦上的
另外一個測試機台為手機: HTC ONE X 安裝軟體一樣為 Playstore 提供之 Linphone Android

以下為,設置AMI 與 使用"遠端"電腦console連上server之AMI並對asterisk下command使得電腦端的linphone與手機端的linphone可以互通之文章
          







使用putty連上server,使用root登入

1.開啟 Manager.conf 檔案( cd /etc/asterisk
                                         vim manager.conf)

2.修改 manager.conf 中 之參數 

-----------------------manager.conf--------------------------code由下開始


[general]
enable = yes
port = 5038  (注意若為要開放外網連進來,要進入防火牆開啟此Port,方法為在終端輸入setup跟著                   指示做就好了)

[admin]      
secret = 1234
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255                                             .............此為允許local端連入AMI
permit=欲連入此server之電腦的"實體IP"/255.255.255.0         .............實體IP去這裡查詢
read=all,system,call,log,verbose,command,agent,user.
write=all,system,call,log,verbose,command,agent,originate,user


相關設定可以參考   相信網路上更多資料

然後存檔離開

接下來這個步驟很重要 請"重新啟動你的asterisk" 這樣他才會更新 manager.conf

相關重開指令可以去查詢 Asterisk CLI   
CLI> core restart now

到此就設定完成了

之後請開啟CMD

打入 :     telnet  serverIP(或者如果是本機打入 loacalhost)  5038    按一下Enter
                

應該會出現  Asterisk manager 1.1 
這時候要打入以下資訊
action:login                   按一下Enter
username:admin            按一下 Enter
secret:1234                  按兩下Enter

這時候訊息應該就會送出,接著CLI應該會回傳成功的訊息,如果失敗了,

請一邊開啟並進入你的 asterisk CLI  另一邊再次使用 telnet 去登入 ,CLI 會顯示相關的錯誤訊息

如果是顯示 某某 IP 然後存在什麼username不存在,則把這個某某IP加入你的permit應該就可以

方法為 進入 Manager.conf


--
-- 上略
--
[admin]

--         
--
--
permit = 某某 IP / 255.255.255.0
--
--
--

下略

當然這可能存在著安全性的問題,就請使用者自行去考量 ,這邊提供的是無論如何都要進入的方法     


成功由telnet進入AMI後若要撥通兩個電話的話 (SIPNUMBER假設為 1000    1001 )
                                                                                 

action:command    一下ENTER
command: originate sip/1000 extension 1001@(此填入欲採用的extension,不填入則代表使用[defaut])










沒有留言:

張貼留言