Linux

Skype Connect 和 Elastix 用於來電和去電

  • July 23, 2012

我訂購了 Skype Connect,並且我想將 Skype Connect 與我的 Elastix 伺服器集成以處理來電和去電。

我通過 GUI 使用以下資訊創建了新的 SIP 中繼:

   Incoming Settings
[skype_in]
disallow=all
type=friend
username=sipusername
fromdomain=sip.skype.com
fromuser=sipusername
realm=sip.skype.com
host=sip.skype.com
dtmfmode=rfc2833
secret=sipuserpass
nat=yes
insecure=invite
qualify=yes
allow=alaw
allow=ulaw
amaflags=default
trustrpid=no
sendrpid=yes
context=from-trunk-sip-Skype_out

Outgoing Settings : 
[Skype_out]
context=from-trunk-sip-Skype_out

Register String:
SIPUSER:SIPPASS@sip.skype.com

來電工作正常。

我試圖撥打 00448717893642 和 448717893642 獲取倫敦語音時鐘和許多其他號碼,但撥出電話不起作用,它一直說(無法完成撥號

撥號後的 Elastix 日誌

[Jul 17 01:01:25] VERBOSE[3501] pbx.c:     -- Executing [448717893642@from-internal:1] ResetCDR("SIP/100-00000010", "") in new stack
[Jul 17 01:01:25] VERBOSE[3501] pbx.c:     -- Executing [448717893642@from-internal:2] NoCDR("SIP/100-00000010", "") in new stack
[Jul 17 01:01:25] VERBOSE[3501] pbx.c:     -- Executing [448717893642@from-internal:3] Progress("SIP/100-00000010", "") in new stack
[Jul 17 01:01:25] VERBOSE[3501] pbx.c:     -- Executing [448717893642@from-internal:4] Wait("SIP/100-00000010", "1") in new stack
[Jul 17 01:01:26] VERBOSE[3501] pbx.c:     -- Executing [448717893642@from-internal:5] Progress("SIP/100-00000010", "") in new stack
[Jul 17 01:01:26] VERBOSE[3501] pbx.c:     -- Executing [448717893642@from-internal:6] Playback("SIP/100-00000010", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
[Jul 17 01:01:26] VERBOSE[3501] file.c:     -- <SIP/100-00000010> Playing 'silence/1.gsm' (language 'en')
[Jul 17 01:01:27] VERBOSE[3501] file.c:     -- <SIP/100-00000010> Playing 'cannot-complete-as-dialed.gsm' (language 'en')
[Jul 17 01:01:29] VERBOSE[3501] file.c:     -- <SIP/100-00000010> Playing 'check-number-dial-again.gsm' (language 'en')
[Jul 17 01:01:32] VERBOSE[3501] pbx.c:     -- Executing [448717893642@from-internal:7] Wait("SIP/100-00000010", "1") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [448717893642@from-internal:8] Congestion("SIP/100-00000010", "20") in new stack
[Jul 17 01:01:33] WARNING[3501] channel.c: Prodding channel 'SIP/100-00000010' failed
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:   == Spawn extension (from-internal, 448717893642, 8) exited non-zero on 'SIP/100-00000010'
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [h@from-internal:1] Macro("SIP/100-00000010", "hangupcall") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:1] GotoIf("SIP/100-00000010", "1?endmixmoncheck") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Goto (macro-hangupcall,s,9)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:9] NoOp("SIP/100-00000010", "End of MIXMON check") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:10] GotoIf("SIP/100-00000010", "1?nomeetmemon") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Goto (macro-hangupcall,s,28)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:28] NoOp("SIP/100-00000010", "End of MEETME check") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:29] GotoIf("SIP/100-00000010", "1?noautomon") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Goto (macro-hangupcall,s,34)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:34] NoOp("SIP/100-00000010", "TOUCH_MONITOR_OUTPUT=") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:35] GotoIf("SIP/100-00000010", "1?noautomon2") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Goto (macro-hangupcall,s,41)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:41] NoOp("SIP/100-00000010", "MONITOR_FILENAME=") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:42] GotoIf("SIP/100-00000010", "1?skiprg") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Goto (macro-hangupcall,s,45)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:45] GotoIf("SIP/100-00000010", "1?skipblkvm") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Goto (macro-hangupcall,s,48)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:48] GotoIf("SIP/100-00000010", "1?theend") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Goto (macro-hangupcall,s,50)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:     -- Executing [s@macro-hangupcall:50] Hangup("SIP/100-00000010", "") in new stack
[Jul 17 01:01:33] VERBOSE[3501] app_macro.c:   == Spawn extension (macro-hangupcall, s, 50) exited non-zero on 'SIP/100-00000010' in macro 'hangupcall'
[Jul 17 01:01:33] VERBOSE[3501] pbx.c:   == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/100-00000010'

我應該在傳入和傳出設置中進行任何修改以正常工作嗎?

我通過外掛解決了我的問題

exten => _00X.,1, Answer
exten => _00X.,n, Set(CALLERID(num)=ID) ;
exten => _00X.,n, Dial(SIP/${EXTEN}@Skype_out)
exten => _00X.,n, Hangup

進入 extensions.conf

你沒有具體說明你是如何撥打電話的,所以我會讓你參考Skype Connect 文件,上面寫著:

E.164(國家程式碼和國家號碼),所有呼叫的國際號碼格式

您很可能沒有發送國家/地區程式碼。這是所有 Skype Connect 撥出呼叫所必需的。

因此,如果您想撥打倫敦口語時鐘,您可以發送:

448717893642

要撥打美國的號碼,例如賓夕法尼亞 6-5000,您需要發送:

12127365000

可能您還需要+在數字開頭包含符號,例如:

+44871893642

快速的 Google 搜尋表明您還需要在您的 Skype 帳戶配置文件中明確允許撥出電話。由於我什至無法猜測的原因,這似乎預設情況下被禁用。

引用自:https://serverfault.com/questions/408339