С недавнего времени стал бредущем во тьме, в революции в телефонии. Начальство поставило задачу освоить систему Asterisk.
Решил что оптимальным вариантом будет использовать для этих целей trixbox. Воспользовался ссылочкой в интернетах по начальной настройке http://inhibitz.ucoz.ru/publ/9-1-0-14 создал парочку внутренних абонентов, провел беседу. Дальше приступил к подключению SIP trunk, выбрал zebratelecom, узнал SID адрес sip-сервера. Провайдер прислал настройки для подключения следущего вида:
Sip.conf
[general]
bindport = 5060 ; порт на который астериск принимает вызовы
bindaddr = 192.168.0.10 ; IP адрес на котором астериск принимает вызовы
srvlookup = yes ; необходимо для указания сип сервера в виде sip.zebra.ru, вместо IP
t38pt_udptl = yes,redundancy ; режим факсов т38 с коррекцией ошибок
dtmfmode = rfc2833 ; режим донабора при звонках через сеть зебры
register => {sip id}:{password}:{sip id}@ sip.zebra.ru /{sip id}~3600
[zebra]
host = sip.zebra.ru ; адрес или имя сервера
type = friend ; тип сервера
username = {sip id}
fromuser = {sip id}
secret = {password}
fromdomain = sip.zebra.ru
usereqphone = yes ; указание, что SIP URI содержит нормальный вызываемый номер
context = incoming ; название контекста входящей связи
disallow = all ; запрет всех кодеков
allow = g729,ulaw,alaw ; разрешение некоторых кодеков
; sip id=000ХXXXX
extensions.conf
[incoming] ; данная секция имеет смысл только при наличии у вас входящей связи
exten => _X.,1,Dial(SIP/6001/${EXTEN}) ; направлять любой входящий номер пользователю 6001
; План входящих звонков на номер 7893738 выглядел бы следующим образом
; exten => _74957893738,1,Dial(SIP/6001/${EXTEN})
[CallingRule_OutgoingMSK]
exten = _XXXXXXX,1,Dial(SIP/zebra/8495${EXTEN}) ; набор московских номеров в 7-значном виде через транк [zebra] описанный в sip.conf
; Для Волгограда это правило выглядело бы exten = _XXXXXX,1,Dial(SIP/zebra/88442${EXTEN})
[CallingRule_OutgoingAll]
exten = _X.,1,Dial(SIP/zebra/${EXTEN}) ; набор любого номера через транк [zebra]
[DLPN_DialPlan1] ; объединяет в себе два правила набора для упрощенного присвоениях их пользователям
include = CallingRule_OutgoingMSK
include = CallingRule_OutgoingAll
users.conf
[6001] ; описание пользователя 6001 с динамическим адресом за NATом
host = dynamic ; IP может изменяться
hassip = yes
username = 6001
secret = ********
context = DLPN_DialPlan1 ; план набора исходящей связи
nat = yes ; указание на то, что пользователь находится за NATом
canreinvite = no
insecure = port,invite ; не проверять порт пользователя и invite пакеты при вызове
disallow = all
allow = g729,ulaw,alaw
Вот теперь вопрос, как мне синхронизировать эти конфиги в Trixbox? Насколько я понял необходимо прописывать через Config File Editor не sip.conf а sip_additianal.conf и так же с остальными *custom.conf
И еще, прописав конфиги как писать в PBX settings
PEER DETAILS
USER DETAILS
_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6Gb / 160Gb || Gentoo Linux || Asterisk 1.8.12
Решения телефонии на базе Asterisk || http://it-need.ru
Впринципе делал по наитию, создав trunk Zebra-Test прописал такую штуку
Dial Rules
8495+NXXXXXX
PEER detailes
dtmfmode=rfc2833
type=peer
host=sip.zebra.ru
fromuser=SID
fromdomain=sip.zebra.ru
secret=******
username=SID
insecure=very
disallow=all
nat=yes
allow=g723&g723.1&gsm&ulaw&alaw
Incoming Settings(не важны, поскольку пока входящие мне не нужны )
secret=******
type=user
context=from-trunk
Outbound Routes
Dial Patterns
NXXXXXX
В итоге так вот идет соединение
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6
-- Executing [9166826@from-internal:1] Macro("SIP/100-00000009", "user-callerid,SKIPTTL,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/100-00000009", "AMPUSER=100") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/100-00000009", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/100-00000009", "1?Set(REALCALLERIDNUM=100)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/100-00000009", "AMPUSER=100") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/100-00000009", "AMPUSERCIDNAME=100") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/100-00000009", "0?report") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/100-00000009", "AMPUSERCID=100") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/100-00000009", "CALLERID(all)="100" ") in new stack
-- Executing [s@macro-user-callerid:9] ExecIf("SIP/100-00000009", "0?Set(CHANNEL(language)=)") in new stack
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/100-00000009", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] NoOp("SIP/100-00000009", "Using CallerID "100" ") in new stack
-- Executing [9166826@from-internal:2] Set("SIP/100-00000009", "_NODEST=") in new stack
-- Executing [9166826@from-internal:3] Macro("SIP/100-00000009", "record-enable,100,OUT,") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("SIP/100-00000009", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] AGI("SIP/100-00000009", "recordingcheck,20110713-191105,1310569865.9") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck,20110713-191105,1310569865.9: Outbound recording not enabled
-- AGI Script recordingcheck completed, returning 0
-- Executing [s@macro-record-enable:5] MacroExit("SIP/100-00000009", "") in new stack
-- Executing [9166826@from-internal:4] Macro("SIP/100-00000009", "dialout-trunk,1,166826,") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("SIP/100-00000009", "DIAL_TRUNK=1") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/100-00000009", "0?sub-pincheck,s,1") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/100-00000009", "0?disabletrunk,1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("SIP/100-00000009", "DIAL_NUMBER=166826") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("SIP/100-00000009", "DIAL_TRUNK_OPTIONS=tr") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("SIP/100-00000009", "OUTBOUND_GROUP=OUT_1") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/100-00000009", "1?nomax") in new stack
-- Goto (macro-dialout-trunk,s,9)
-- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/100-00000009", "0?skipoutcid") in new stack
-- Executing [s@macro-dialout-trunk:10] Set("SIP/100-00000009", "DIAL_TRUNK_OPTIONS=") in new stack
-- Executing [s@macro-dialout-trunk:11] Macro("SIP/100-00000009", "outbound-callerid,1") in new stack
-- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/100-00000009", "0?Set(CALLERPRES()=)") in new stack
-- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/100-00000009", "0?Set(REALCALLERIDNUM=100)") in new stack
-- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/100-00000009", "1?normcid") in new stack
-- Goto (macro-outbound-callerid,s,6)
-- Executing [s@macro-outbound-callerid:6] Set("SIP/100-00000009", "USEROUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:7] Set("SIP/100-00000009", "EMERGENCYCID=") in new stack
-- Executing [s@macro-outbound-callerid:8] Set("SIP/100-00000009", "TRUNKOUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/100-00000009", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,12)
-- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/100-00000009", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/100-00000009", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/100-00000009", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
-- Executing [s@macro-dialout-trunk:12] ExecIf("SIP/100-00000009", "0?AGI(fixlocalprefix)") in new stack
-- Executing [s@macro-dialout-trunk:13] Set("SIP/100-00000009", "OUTNUM=166826") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/100-00000009", "custom=DAHDI/g0") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/100-00000009", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^))") in new stack
-- Executing [s@macro-dialout-trunk:16] Macro("SIP/100-00000009", "dialout-trunk-predial-hook,") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/100-00000009", "") in new stack
-- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/100-00000009", "0?bypass,1") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/100-00000009", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:19] Dial("SIP/100-00000009", "DAHDI/g0/166826,300,") in new stack
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@macro-dialout-trunk:20] Goto("SIP/100-00000009", "s-CHANUNAVAIL,1") in new stack
-- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] GotoIf("SIP/100-00000009", "1?noreport") in new stack
-- Goto (macro-dialout-trunk,s-CHANUNAVAIL,3)
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:3] NoOp("SIP/100-00000009", "TRUNK Dial failed due to CHANUNAVAIL (hangupcause: 0) - failing through to other trunks") in new stack
-- Executing [9166826@from-internal:5] Macro("SIP/100-00000009", "outisbusy,") in new stack
-- Executing [s@macro-outisbusy:1] Playback("SIP/100-00000009", "all-circuits-busy-now,noanswer") in new stack
-- Playing 'all-circuits-busy-now.ulaw' (language 'en')
-- Executing [s@macro-outisbusy:2] Playback("SIP/100-00000009", "pls-try-call-later,noanswer") in new stack
-- Playing 'pls-try-call-later.ulaw' (language 'en')
-- Executing [s@macro-outisbusy:3] Macro("SIP/100-00000009", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/100-00000009", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,4)
-- Executing [s@macro-hangupcall:4] GotoIf("SIP/100-00000009", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/100-00000009", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] Hangup("SIP/100-00000009", "") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/100-00000009' in macro 'hangupcall'
== Spawn extension (macro-outisbusy, s, 3) exited non-zero on 'SIP/100-00000009' in macro 'outisbusy'
== Spawn extension (from-internal, 9166826, 5) exited non-zero on 'SIP/100-00000009'
-- Executing [h@from-internal:1] Macro("SIP/100-00000009", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/100-00000009", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,4)
-- Executing [s@macro-hangupcall:4] GotoIf("SIP/100-00000009", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/100-00000009", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] Hangup("SIP/100-00000009", "") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/100-00000009' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/100-00000009'
Файлы конфигов не трогал
| Цитата: |
| -- Executing [s@macro-dialout-trunk:19] Dial("SIP/100-00000009", "DAHDI/g0/166826,300,") in new stack == Everyone is busy/congested at this time (1:0/0/1) |
Причем тут DAHDI ?
_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6Gb / 160Gb || Gentoo Linux || Asterisk 1.8.12
Решения телефонии на базе Asterisk || http://it-need.ru
-- Called Zebra-Test/84953430537
-- SIP/Zebra-Test-00000015 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Executing [s@macro-dialout-trunk] Goto("SIP/100-00000014", "s-CONGESTION,1") in new stack
-- Goto (macro-dialout-trunk,s-CONGESTION,1)
-- Executing [s-CONGESTION@macro-dialout-trunk] GotoIf("SIP/100-00000014", "1?noreport") in new stack
-- Goto (macro-dialout-trunk,s-CONGESTION,3)
-- Executing [s-CONGESTION@macro-dialout-trunk] NoOp("SIP/100-00000014", "TRUNK Dial failed due to CONGESTION - failing through to other trunks") in new stack
-- Executing [3430537@from-internal] Macro("SIP/100-00000014", "outisbusy,") in new stack
-- Executing [s@macro-outisbusy] Playback("SIP/100-00000014", "all-circuits-busy-now,noanswer") in new stack
-- Playing 'all-circuits-busy-now.ulaw' (language 'en')
-- Executing [s@macro-outisbusy] Playback("SIP/100-00000014", "pls-try-call-later,noanswer") in new stack
-- Playing 'pls-try-call-later.ulaw' (language 'en')
-- Executing [s@macro-outisbusy] Macro("SIP/100-00000014", "hangupcall") in new stack
-- Executing [s@macro-hangupcall] GotoIf("SIP/100-00000014", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,4)
-- Executing [s@macro-hangupcall] GotoIf("SIP/100-00000014", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall] GotoIf("SIP/100-00000014", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall] Hangup("SIP/100-00000014", "") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/100-00000014' in macro 'hangupcall'
== Spawn extension (macro-outisbusy, s, 3) exited non-zero on 'SIP/100-00000014' in macro 'outisbusy'
== Spawn extension (from-internal, 3430537, 5) exited non-zero on 'SIP/100-00000014'
-- Executing [h@from-internal] Macro("SIP/100-00000014", "hangupcall") in new stack
-- Executing [s@macro-hangupcall] GotoIf("SIP/100-00000014", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,4)
-- Executing [s@macro-hangupcall] GotoIf("SIP/100-00000014", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall] GotoIf("SIP/100-00000014", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall] Hangup("SIP/100-00000014", "") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/100-00000014' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/100-00000014'[size=9][/size]
Added after 2 hours 30 minutes:
Смысл такой, вхожу с внутренней сети, через прокси, в настройках eth0 прописал статический внутренний ip и шлюз прокси, через который выходить буду.
При просмотре sip show registry выдает:
Host Username Refresh State Reg.Time
sip.zebra.ru:5060 00014696 120 Request Sent
1 SIP registrations.
Провайдер получается не зарегал менЯ?
И еще Правильно ли я прописал настройки Peer?
Вообще косяк был в сетке которая идет через проксю, в итоге зарубили нормальный прямой инет. Прописали ай пи у SIP провайдера, ну и пошли звонки...