AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Помогите настроить SIP trunk

Newbies/FAQ Forum 7 сообщений 05.09.2011 10:30 - 05.09.2011 14:49
#1 05.09.2011 10:30

Помогите настроить SIP trunk


Всем привет.

Настраиваю транк на voip.ms, делал по книжке, но видно чето недопонял. SIP юзеры хранятся в базе, диалплан пока пишу в extensions.conf.

в sip.conf:

[general]
context=default ; Default context for incoming calls

disallow=all
allow=ulaw
allow=alaw
allow=gsm


callevents=yes
srvlookup=yes
nat=yes
externip=XXX.XXX.XXX.XXX
localnet=0.0.0.0/255.255.255.0
localnet=XX.XXX.XXX.XXX/255.255.254.0
recordhistory=yes
allowguest=no
alwaysauthreject=yes

port=5060
bindaddr=0.0.0.0

register => XXXXXX:XXXX@XX.XXX.XXX.XX/XXXXXX

в
extensions.conf:

[general]

static=yes
writeprotect=no
clearglobalvars=no

[incoming_calls]
exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1001)

exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1002)

exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1003)

exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1004)

exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1005)

exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1006)

[outgoing_calls]
exten =>_X.,1,NoOp()
exten =>_X.,n,Dial(SIP/XX.XXX.XXX.XX/${EXTEN})
;exten => _X.,n,Dial(SIP/${EXTEN:1}@voipms,60)
exten => _X.,n,HangUp()

[internal]
exten =>1001,1,Verbose(1|Extension 1001)
exten =>1001,n,Dial(SIP/1001,30)
exten =>1001,n,Hangup()

exten =>1002,1,Verbose(1|Extension 1002)
exten =>1002,n,Dial(SIP/1002,30)
exten =>1002,n,Hangup()


exten =>1003,1,Verbose(1|Extension 1003)
exten =>1003,n,Dial(SIP/1003,30)
exten =>1003,n,Hangup()

exten =>1004,1,Dial(SIP/1004)

exten =>1005,1,Dial(SIP/1005)
exten =>1006,1,Dial(SIP/1006)

[phones]
include => internal
include => outgoing_calls

в базу засунул юзера и настройки транка:

юзер:

name = 1001
host = dynamic
nat = yes
type = friend
canreinvite = no
context = phones
dtmfmode = rfc2833
secret = XXXXXXX
username = 1001

настройки транка:

name = voipms
host = XX.XXX.XXX.XX
nat = yes
type = friend
canreinvite = no
context = outgoing-calls
dtmfmode = rfc2833
fromuser = XXXXXX
fromdomain = XX.XXX.XXX.XX
insecure = very
secret = XXXXXX
disallow = all
allow = ulaw;alaw
username = XXXXXX

В консоли астериск пишет:

[Sep 5 04:37:23] NOTICE[4506]: chan_sip.c:26710 build_peer: The 'username' field for sip peers has been deprecated in favor of the term 'defaultuser'
== Using SIP RTP CoS mark 5
-- Executing [00380XXXXXXXXX@phones:1] NoOp("SIP/1001-00000000", "") in new stack
-- Executing [00380XXXXXXXXX@phones:2] Dial("SIP/1001-00000000", "SIP/XX.XXX.XXX.XX/00380XXXXXXXXX") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/78.129.153.20/00380XXXXXXXXX
[Sep 5 04:37:24] NOTICE[4506]: chan_sip.c:19638 handle_response_invite: Failed to authenticate on INVITE to '"1001" ;tag=as37d1212c'
-- SIP/XX.XXX.XXX.XX-00000001 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Executing [00380XXXXXXXXX@phones:3] Hangup("SIP/1001-00000000", "") in new stack
== Spawn extension (phones, 00380XXXXXXXXX, 3) exited non-zero on 'SIP/1001-00000000'
[Sep 5 04:38:54] NOTICE[4506]: chan_sip.c:24093 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 1001

sip show reistry показывает, что транк зарегистрировался.

Подскажите пожалуйста, не понимаю в чем проблема...


Last edited by tor.zntu on Mon Sep 05, 2011 12:43
#2 05.09.2011 10:49

Failed to authenticate on INVITE to '"1001" ;

А что у вас в качестве клиента 1001, СИП-телефон или софтофон ? Он судя по всему не может у вас зарегистрироваться на Астериске ( мало ли символ не тот в пароле вбили ?). Я бы проверил просто: сделал простой цифровой пароль, типа 3434 и проверил регистрацию номера заново...

_________________
Продам виртуальную АТС. Желающим 5% скидка...
#3 05.09.2011 10:58

Спасибо за ответ. Пользуюсь X-Lite, регистрация проходит, и внутри сети могу звонить на другие extensions.
#4 05.09.2011 11:28

[outgoing_calls]
exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/voipms/${EXTEN})
exten => _X.,n,HangUp()
#5 05.09.2011 12:40

Всем огромное спасибо за помощь)))

Перенес настройки транка в sip.conf и поменял контекст outgoing_calls.

в sip.conf:

[voipms]
username=XXXXXXX
type=friend
secret=XXXXXXX
qualify=yes
nat=yes
insecure=very
host=XX.XXX.XXX.XX
fromuser=XXXXXXX
fromdomain=XX.XXX.XXX.XX
dtmfmode=rfc2833
disallow=all
conext=default
canreinvite=no
allow=ulaw
allow=alaw

в extensions.conf

[outgoing_calls]
exten =>_X.,1,NoOp()
exten =>_X.,n,Dial(SIP/voipms/${EXTEN})
exten => _X.,n,HangUp()

Все заработало Very Happy. Когда настройки транка хранились в базе была ошибка:

-- Executing [00380XXXXXXXXX@phones:2] Dial("SIP/1001-00000000", "SIP/voipms/00380XXXXXXXXX") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/voipms/00380XXXXXXXXX
[Sep 5 07:07:09] NOTICE[5292]: chan_sip.c:19638 handle_response_invite: Failed to authenticate on INVITE to '"1001" ;tag=as1c16a6d4'
-- SIP/voipms-00000001 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)

Теперь звонки через транк проходят, но при разговоре иногда глотаются окончания слов, это можно как-то улучшить?
#6 05.09.2011 13:38

Я еще не допонял вот эту часть:
Code:
[incoming_calls]
exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1001)

exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1002)

exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1003)

exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1004)

exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1005)

exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1006)


Получается несколько первых приоритетов для одного экстеншена в одном контексте. Если у вас есть желание сделать перебор номеров (один недоступен - звоним на следующий), то правильно было бы сделать так (не заморачиваемся на очередях и доступностях каналов):

Code:

[incoming_calls]
exten => _X.,1,NoOp()
same => n,Answer()
same => n,Dial(SIP/1001,15)
same => n,Dial(SIP/1002,15)
same => n,Dial(SIP/1003,15)
same => n,Dial(SIP/1004,15)
same => n,Dial(SIP/1005,15)
same => n,Dial(SIP/1006,30)
same => n,Hangup()


Хотя я не очень представляю себе ситуацию, когда могут не ответить сразу пять телефонов. Но это уже ваши заморочки.
#7 05.09.2011 14:49

Эта часть была тупо передрана с книги Smile , сейчас я ее не использую, да и пока нет необходимости во входящих. Спасибо за пост, теперь я лучше понимаю как это должно работать Very Happy