Я заказал Skype Connect и хочу интегрировать Skype Connect с моим сервером Elastix для обработки входящих и исходящих вызовов.
Я создал новую магистраль 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
в extension.conf
Вы не указали, как набираете номер, поэтому я отошлю вас к Документация по Skype Connect, в котором говорится:
E.164 (код страны и национальный номер), международный формат номера для всех звонков
Скорее всего, вы не отправляете код страны. Это необходимо для всех исходящих звонков Skype Connect.
Итак, если вы хотите набрать лондонские говорящие часы, вы должны отправить:
448717893642
Чтобы набрать номер в США, например Пенсильвания 6-5000, вы должны отправить:
12127365000
Возможно, вам также потребуется включить +
символ в начале числа, например:
+44871893642
Быстрый поиск в Google показывает, что вам также необходимо явно разрешить исходящие звонки в вашем профиле учетной записи Skype. По причинам, о которых я даже не догадываюсь, по умолчанию эта функция отключена.