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

Помогите пожалуйста настроить sip транки для провайдеров sipnet.ru и u-tel

Newbies/FAQ Forum 37 сообщений 27.10.2010 06:19 - 03.11.2010 14:13
#1 27.10.2010 06:19

Помогите пожалуйста настроить sip транки для провайдеров sipnet.ru и u-tel


В Астере новичок, помогите пожалуйста настроить телефонию и диалплан, что бы на Москву звонить через sipnet а все остальное через sip от u-tel. Огромное спасибо. Самостоятельно не получается. Вход вызовы нужно для u-tel принимать на групповой номер 1005, для sipnet 1006.
#2 27.10.2010 07:20

Новичок - RTFM! я тоже новичок еще, но подобные вопросы обсуждались на форуме неоднократно, плюс ко всему есть литература в свободном доступе. Не поленись потратить вечер-другой, лишним точно не будет.
Ну и поподробнее пиши, где затык, что не получается, а то я, например, делаю вывод, что у тебя есть астер, провайдер и конь, который нигде не валялся.
#3 27.10.2010 07:31

http://wiki.sipnet.ru/index.php/%D0%9F%D ... terisk_1.6

Настроил по инструкции как тут, где sip id вписал цифренный логин 00 итд который, ну и пароль. После пробую сделать вход звонок, с другого sip который зарегил на sipnet и вызов не проходит.


[general]
;
; если не нужно принимать входящие вызовы, то использование директивы register=> не требуется!
; альтернативно может быть использован параметр callbackextension в описании транка, см. выше
;
; register => {SIP ID}:{пароль}@sipnet.ru/{SIP ID}
;
localnet = 192.168.1.0/255.255.255.0; ваша внутренняя подсеть
;
; при работе за NAT необходимо использовать что-то одно - или externip или externhost или STUN
;
;externip = 200.201.202.203
; ваш внешний IP-адрес, если он является постоянным
;
;externhost = MyServer.MyDomain.tld
; ваше доменное имя, если у вас динамический внешний IP-адрес и вы пользуетесь динамическим DNS
;
stunaddr = stun.sipnet.ru:3478
externrefresh = 60
;
nat = no
canreinvite = nonat
#4 27.10.2010 07:50

а где настройки самого транка?
#5 27.10.2010 08:37

Вместо {SIP ID} написал sipid 00......

[sipnet]
secret = {пароль}
defaultuser = {SIP ID}
trunkname = sipnet
callerid =
hasexten = no
hassip = yes
hasiax = no
host = sipnet.ru
context = from-sipnet
; контекст с таким именем должен существовать в dialplan’е (файл extensions.conf)
insecure = invite
fromuser = {SIP ID}
fromdomain = sipnet.ru
type = peer
callbackextension = {SIP ID}
; В качестве callbackextension может быть указан любой номер, на который должны быть адресованы входящие звонки.
; Этот номер должен присутствовать в dialplan’е (файл extensions.conf) в указанном для этого транка контексте
; (в данном примере это 'from-sipnet').
; Значение параметра callbackextension будет отображаться в Личном Кабинете
; в записи о подключенном (зарегистрированном) оборудовании
; Вместо этого может быть использован и старый синтаксис с register= в секции [general] файла sip.conf, см. ниже
;
disallow = all
allow = alaw
allow = ulaw
allow = g729
nat = no
canreinvite = nonat
dtmfmode = rfc2833
#6 27.10.2010 16:25

Не получается,

sip.conf

[general]
;
; если не нужно принимать входящие вызовы, то использование директивы register=> не требуется!
; альтернативно может быть использован параметр callbackextension в описании транка, см. выше
;
register => dsfasdfsdfsdfd:dsfasdfsdfsdfd@sipnet.ru/dsfasdfsdfsdfd
;
localnet = 192.168.0.0/255.255.255.0 ; ваша внутренняя подсеть
;
; при работе за NAT необходимо использовать что-то одно - или externip или externhost или STUN
;
;externip = 200.201.202.203
; ваш внешний IP-адрес, если он является постоянным
;
;externhost = MyServer.MyDomain.tld
; ваше доменное имя, если у вас динамический внешний IP-адрес и вы пользуетесь динамическим DNS
;
stunaddr = stun.sipnet.ru:3478
externrefresh = 60
;
nat = no
canreinvite = nonat

users.conf

[sipnet]
secret = dsfasdfsdfsdfd
defaultuser = dsfasdfsdfsdfd
trunkname = sipnet
callerid =
hasexten = no
hassip = yes
hasiax = no
host = sipnet.ru
context = from-sipnet
; контекст с таким именем должен существовать в dialplan’е (файл extensions.conf)
insecure = invite
fromuser = dsfasdfsdfsdfd
fromdomain = sipnet.ru
type = peer
callbackextension = 6003
; В качестве callbackextension может быть указан любой номер, на который должны быть адресованы входящие звонки.
; Этот номер должен присутствовать в dialplan’е (файл extensions.conf) в указанном для этого транка контексте
; (в данном примере это 'from-sipnet').
; Значение параметра callbackextension будет отображаться в Личном Кабинете
; в записи о подключенном (зарегистрированном) оборудовании
; Вместо этого может быть использован и старый синтаксис с register= в секции [general] файла sip.conf, см. ниже
;
disallow = all
allow = alaw
allow = ulaw
allow = g729
nat = no
canreinvite = nonat
dtmfmode = rfc2833
#7 27.10.2010 16:37

зачем в users.conf?
что выдает
sip show peers
sip show registry
#9 27.10.2010 17:18

на заборе тоже многое написано
sip show peers
sip show registry
#10 27.10.2010 17:44

6003/6003 192.168.0.55 D N 5060 Unmonitored
6004/6004 (Unspecified) D N 5060 Unmonitored
sipnet/dsfasdfsdfsdfd 212.53.40.40 5060 Unmonitored

Host dnsmgr Username Refresh State Reg.Time
sipnet.ru:5060 N dsfasdfsdfsd 98 Registered Wed, 27 Oct 2010 16:38:26
1 SIP registrations.

При вход звонке на SIP в консоли пишет

== Using SIP RTP CoS mark 5
[Oct 27 16:40:55] NOTICE[32646]: chan_sip.c:20161 handle_request_invite: Call from 'dsfasdfsdfsdfd' to extension '6003' rejected because extension not found in context 'from-sipnet'.
localhost*CLI>
#11 27.10.2010 18:42

все у вас работает, а то что выдает такую ошибку, тоже верно - внутренний номер прописан в другом контексте, отдичном от того, куда попадает входящий вызов, у вас from-sipnet
решение - создать контекст , если его еще нет, в extensions.conf
Code:
[from-sipnet]
exten => s,1,Goto(Контекст_внутр_номера, 6003,1)
#12 27.10.2010 18:51

А можно по подробнее как это?

[from-sipnet]
exten => s,1,Goto(Контекст_внутр_номера, 6003,1)

И что значит контекст внутр номера ?
#13 27.10.2010 19:02

я же написал какой файл править. если нашли users.conf, найдете и extensions.conf - он в том же каталоге
вместо Контекст_внутр_номера - смотрите настройки своего внутреннего номера 6003, а именно строку, содержащую context. Вот значение этого контекста и подставляете в тот код, что выше. и релоад диалплана в конце сделать не забудьте
#14 27.10.2010 19:15

Фаилы то я знаю Smile

Добавил

[from-sipnet]
exten => s,1,Goto(DLPN_Test, 6003,1) добавил

из юзеров выдержка

username=6003
context=DLPN_Test

И все равно ошибка


== Using SIP RTP CoS mark 5
[Oct 27 18:10:03] NOTICE[3600]: chan_sip.c:20161 handle_request_invite: Call from 'dsfasdfsdfsdfd' to extension '6003' rejected because extension not found in context 'from-sipnet'.
Smile Smile
#15 27.10.2010 19:29

у вас звонок в нужный контекст не переходит
reload в консоли * делали?
show dialplan 6003@from-sipnet ?
#16 27.10.2010 19:39

asusers
У вас в контексте from-sipnet что требуется? Читаете что пишется?
Code:
Call from 'dsfasdfsdfsdfd' to extension '6003' rejected because extension not found in context 'from-sipnet'.

Что значит, что ищется екстеншен '6003' в контексте from-sipnet. А вас там 's'. Сделайте хотя бы так:
Code:

[from-sipnet]
exten => 6003,1,Goto(DLPN_Test, 6003,1)

Попутный вопрос: что за переход (Goto) в контекст DLPN_Test и зачем? Shocked
Совет - читайте книгу "Астериск будущее телефонии". То что творится, покажется детсадом. Wink
#17 28.10.2010 03:08

No such command 'show dialplan 6003@from-sipnet' (type 'core show help show dialplan' for other possible commands)


Да делал, и так же пробовал просто рестартовать сервис.

Obi Van после,
exten => 6003,1,Goto(DLPN_Test, 6003,1)

[Oct 28 02:05:40] WARNING[10519]: pbx.c:4370 __ast_pbx_run: Channel 'SIP/sipnet-00000001' sent into invalid extension ' 6003' in context 'DLPN_Test', but no invalid handler
#18 28.10.2010 05:26

asusers wrote:
No such command 'show dialplan 6003@from-sipnet'...


Вроде наоборот пишется: dialplan show 6003@from-sipnet

И зачем, если не секрет, при входящем звонке в другой контекст прыгать?
Если, для тестирования, указать

Code:

[from-sipnet]
exten => s,1,Dial(SIP/xxxx)


звонок на экст хххх пройдет?
#19 28.10.2010 06:14

Вписал, [from-sipnet]
exten => s,1,Dial(SIP/xxxx)

При звонке ошибка шас,

[Oct 28 05:19:55] NOTICE[3447]: chan_sip.c:20200 handle_request_invite: Call from 'dsfasdfsdfsdfd' to extension '6003' rejected because extension not found in context 'from-sipnet'.
#20 28.10.2010 06:34

asusers
Т.к новые советы для вас порождают цепочку новых ошибок, накорябал для вас примерные настройки:
sip.conf
Code:

register=ваше регистрационное имя:ваш пароль@sipnet.ru/ваше регистрационное имя (допустим 123456)
[sipnet]
type = peer
username =ваше регистрационное имя
context = from_sipnet
secret =ваш пароль
host = sipnet.ru
port = 5060
outboundproxy = sipnet.ru
fromuser = ваше регистрационное имя
fromdomain = sipnet.ru
dtmfmode = rfc2833
sendrpid = yes
ignoresdpversion=yes
progressinband = never
disallow = all
allow = alaw
allow = ulaw

extensions.conf
Code:

[from_sipnet]
exten => 123456,1,Progress() ; Входящие от Сипнет
exten => 123456,n,Ringing()
exten => 123456,n,Dial(SIP/6003,20,m)
exten => 123456,n,Hangup()
;

Неужели было сложно найти и прочитать книжку, которая уже давно есть на русском языке в рунете?? Разобраться в принципах. В приведённом мною примере вам лишь надо будет создать пир 6003 с корректными настройками. Вы же сможете.
Ошибка при звонке выскакивает сейчас поскольку нет регистрации на сервере провайдера, о чём вам внятно говорит астериск. Попытки по регистрации к регистрации не приводят. Смотрите ваше интернет соединение.
Вам уже разжевали и в рот положили. Фактически копипастом делайте и всё должно пойти.
#21 28.10.2010 07:42

Сделал все как выше.

register=userusernames:password72@sipnet.ru/userusernames
[sipnet]
type = peer
username =userusernames
context = from_sipnet
secret =ваш пароль
host = sipnet.ru
port = 5060
outboundproxy = sipnet.ru
fromuser = userusernames
fromdomain = sipnet.ru
dtmfmode = rfc2833
sendrpid = yes
ignoresdpversion=yes
progressinband = never
disallow = all
allow = alaw
allow = ulaw

в sip.conf ну и 2 рое тоже.

при
sip show registry

Host dnsmgr Username Refresh State Reg.Time
0 SIP registrations.

sip show peers
Name/username Host Dyn Nat ACL Port Status
6003/6003 192.168.1.64 D N 52354 Unmonitored
sipnet/userusernames 212.53.40.40 5060 Unmonitored
2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 2 online, 0 offline]

Даже регистрации нет, и при вход звонке тоже сообщений нет. Астер 1.6
#22 28.10.2010 08:50

Как Вы сами постили ранее
Code:

[general]
;
; если не нужно принимать входящие вызовы, то использование директивы register=> не требуется!
; альтернативно может быть использован параметр callbackextension в описании транка, см. выше
;
; register => {SIP ID}:{пароль}@sipnet.ru/{SIP ID}


так и укажите в [general] файла sip.conf
Code:

register => 00xxxxxxxx:password@sipnet.ru/00xxxxxxxx


В любом случае регистрация должна быть. Прочитайте внимательно wiki.sipnet.ru! Кстати, а как дела с транком u-tel'a? Какие у них настройки, если не секрет (просто я с ними еще не работал, интересно сравнить с сипнетовскими и транстелекомовскими)
#23 28.10.2010 09:01

Все регистрация прошла, но при вход звонке ошибка


Host dnsmgr Username Refresh State Reg.Time
sipnet.ru:5060 N 0031263676 102 Registered Thu, 28 Oct 2010 07:59:01
1 SIP registrations.



== Using SIP RTP CoS mark 5

И скидывается, телефон даже не звонит.

До utel еше не дошел Smile
#24 28.10.2010 09:53

asusers
Quote:
И скидывается, телефон даже не звонит.

Почему скидывается? В консоли что пишется? Shocked В консоли сделайте "core set verbose 6". Можно посмотреть при помощи tcpdump что творится на внешнем интерфейсом между станцией и сипнетом. Хотя в принципе в консоли и так всё будет видно. Что ''sip show peers" пишет?
#25 28.10.2010 09:57

Что пишет выше написал,


Name/username Host Dyn Nat ACL Port Status
6003/6003 192.168.1.64 D N 9118 Unmonitored
sipnet/userusernames 212.53.40.40 5060 Unmonitored


core set verbose 6
ответ
Verbosity was 3 and is now 6


При звонке

== Using SIP RTP CoS mark 5
и все

А в sip клиенте с которого звоню в статусе пишет Authentication required после первого гудка, хотя на сот вызов проходит отлично с сипа с которого звоню на астер.
#26 28.10.2010 10:07

asusers
Можно более подробный лог? Т.к
Quote:
При звонке

== Using SIP RTP CoS mark 5
и все

быть такого не может. Сделайте в консоли "sip set debug peer sipnet". В этом случае в консоли будет валится вся sip-сессия между вами и сипнетом.
Сам клиент зарегестрировался на астериске? Чтобы не писало "Unmonitored" добавьте в описание пира опцию "qualify = yes".
#27 28.10.2010 10:13

localhost*CLI> sip set debug peer sipnet
SIP Debugging Enabled for IP: 212.53.40.40:5060
Really destroying SIP dialog '0a76dacc55f010357662ee4f6cabe32c@127.0.0.1' Method: REGISTER


INVITE sip:0031263676@192.168.1.205 SIP/2.0
Via: SIP/2.0/UDP 212.53.40.40:5060;branch=z9hG4bK914334-kmbdctr;cgp=etc.tario.ru;upaddr=77.233.188.50;rport
P-Asserted-Identity:
P-CGP-Redirector: userusernames@sipnet.ru
Record-Route:
Record-Route:
Record-Route:
Max-Forwards: 10
From: "0031262900" ;tag=F710915A-165420-BA38D8E7_kmbdctr-3BB5
To:
Call-ID: 767DDE4FE9E084FDE1488656B37F5B66-8257119@h79n40.etc.tario.ru
Contact:
CSeq: 1 INVITE
Supported: 100rel,timer,replaces,histinfo
Session-Expires: 3600
Min-SE: 90
User-Agent: CommuniGatePro-ximmsLeg/5.3.10
Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,INFO,MESSAGE,SUBSCRIBE,NOTIFY,PRACK,REFER
Content-Type: application/sdp
Content-Length: 357

v=0
o=- 97432578 9999 IN IP4 10.128.0.57
s=QIP 2010 3902
c=IN IP4 10.128.0.57
t=0 0
a=natedgateway:77.233.188.50
m=audio 65509 RTP/AVP 99 98 97 18 4 8 0
c=IN IP4 10.128.0.57
a=rtpmap:99 SPEEX/32000
a=rtpmap:98 SPEEX/16000
a=rtpmap:97 SPEEX/8000
a=rtpmap:18 G729/8000
a=rtpmap:4 G723/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=sendrecv


--- (20 headers 16 lines) ---
== Using SIP RTP CoS mark 5
Sending to 212.53.40.40 : 5060 (no NAT)
Using INVITE request as basis request - 767DDE4FE9E084FDE1488656B37F5B66-8257119@h79n40.etc.tario.ru
Found peer 'sipnet' for 'asdfsdfasdf' from 212.53.40.40:5060


SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 212.53.40.40:5060;branch=z9hG4bK914334-kmbdctr;cgp=etc.tario.ru;upaddr=77.233.188.50;received=212.53.40.40;rport=5060
From: "0031262900" ;tag=F710915A-165420-BA38D8E7_kmbdctr-3BB5
To: ;tag=as359fd4ee
Call-ID: 767DDE4FE9E084FDE1488656B37F5B66-8257119@h79n40.etc.tario.ru
CSeq: 1 INVITE
Server: Asterisk PBX 1.6.2.11
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="2666a7cd"
Content-Length: 0



Scheduling destruction of SIP dialog '767DDE4FE9E084FDE1488656B37F5B66-8257119@h79n40.etc.tario.ru' in 32000 ms (Method: INVITE)


ACK sip:0031263676@192.168.1.205 SIP/2.0
P-Asserted-Identity:
P-CGP-Redirector: userusernames@sipnet.ru
Via: SIP/2.0/UDP 212.53.40.40:5060;branch=z9hG4bK914334-kmbdctr;cgp=etc.tario.ru;upaddr=77.233.188.50;rport
Max-Forwards: 10
From: "0031262900" ;tag=F710915A-165420-BA38D8E7_kmbdctr-3BB5
To: ;tag=as359fd4ee
Call-ID: 767DDE4FE9E084FDE1488656B37F5B66-8257119@h79n40.etc.tario.ru
CSeq: 1 ACK
Content-Length: 0



--- (10 headers 0 lines) ---
localhost*CLI>


Вот это все что было до разрыва.
#28 29.10.2010 04:05

Про sipnet вопрос еше актуален.

И еше вопрос, настроил для вход звонков Oktell SIP-GSM Gateway но есть одно но, при вход звонке если ответить то не слышно что говорит абонент астера, но если поставить на удержание (hold) и снять с удержания то все будет сразу ок в обе стороны.



Настройки внутренних номеров
username=6000
transfer=yes
mailbox=6000
call-limit=100
type=peer
fullname=6000
registersip=no
host=dynamic
callgroup=1
type=peer
context=DLPN_Test2
cid_number=6000
hasvoicemail=no
vmsecret=
email=
threewaycalling=no
hasdirectory=no
callwaiting=no
hasmanager=no
hasagent=no
hassip=yes
hasiax=no
secret=test
nat=yes
canreinvite=no
dtmfmode=rfc2833
insecure=no
pickupgroup=1
autoprov=no
label=
macaddress=
linenumber=1
LINEKEYS=1
disallow=all
allow=ulaw,gsm
callcounter=yes
#29 29.10.2010 07:27

Яб на вашем месте удалил весь глюк который вы наворотили в конфигурационных файлах и начал заново. Если настроить по мануалу sipnet.ru wiki по настройке Aster 1.6 всё начинает работать без вопросов. Вы просто где-то что-то накрутили и сейчас разобрать где, что, от какого совета написано, нереально.
#30 29.10.2010 07:47

Я так и делал, все с нуля на чистом * по мануалу от sipnet, но не получается. Если на затруднит может кто то выложит рабочий конфиг под sipnet настроенный на тестовый аккаунт сипнета, я впишу 1:1 и все проверю.

Настроил все с нуля,

[sipnet]
secret = asdfasdfasdfasdf
defaultuser = asdfasdfasdfasdf
trunkname = sipnet
callerid =
hasexten = no
hassip = yes
hasiax = no
host = sipnet.ru
context = from-sipnet
; контекст с таким именем должен существовать в dialplan’е (файл extensions.conf)
insecure = invite
fromuser = asdfasdfasdfasdf
fromdomain = sipnet.ru
type = peer
callbackextension = 7000
; В качестве callbackextension может быть указан любой номер, на который должны быть адресованы входящие звонки.
; Этот номер должен присутствовать в dialplan’е (файл extensions.conf) в указанном для этого транка контексте
; (в данном примере это 'from-sipnet').
; Значение параметра callbackextension будет отображаться в Личном Кабинете
; в записи о подключенном (зарегистрированном) оборудовании
; Вместо этого может быть использован и старый синтаксис с register= в секции [general] файла sip.conf, см. ниже
;
disallow = all
allow = alaw
allow = ulaw
allow = g729
nat = no
canreinvite = nonat
dtmfmode = rfc2833


[general]
;
; если не нужно принимать входящие вызовы, то использование директивы register=> не требуется!
; альтернативно может быть использован параметр callbackextension в описании транка, см. выше
;
register => asdfasdfasdfasdf:asdfasdfasdfasdf@sipnet.ru/asdfasdfasdfasdf
;
localnet = 192.168.1.0/255.255.255.0; ваша внутренняя подсеть
;
; при работе за NAT необходимо использовать что-то одно - или externip или externhost или STUN
;
;externip = 200.201.202.203
; ваш внешний IP-адрес, если он является постоянным
;
;externhost = MyServer.MyDomain.tld
; ваше доменное имя, если у вас динамический внешний IP-адрес и вы пользуетесь динамическим DNS
;
stunaddr = stun.sipnet.ru:3478
externrefresh = 60
;
nat = no
canreinvite = nonat


Все равно, не работает.


Last edited by asusers on Fri Oct 29, 2010 10:46
#31 29.10.2010 10:39

asusers
Те конфиги, которые привёл я, работают у меня. Почему они не работают у вас? Также у меня вопрос: зачем вы заводите настройки в users.conf? Верните его в исходное состояние и забейте уже выложенные настройки по сипнету в sip.conf. Дальше будет видно. Я вообще не пользовался сипнетовской инструкцией. Не пойму зачем заводить настройки в user.conf, если есть протоколозависимый файл sip.conf?
#32 29.10.2010 10:45

Добавил в extension.conf

Причем 7000 номер IVR и если написать что то другое даже 6003 то оно не работает. Странно, но почти работает Smile

[from-sipnet]
exten => 7000,1,Set(CALLERID(name)="Sipnet call")
exten => 7000,n,Dial(SIP/6003,20)
exten => 7000,n,Hangup()

Заработало вызов на 6003 проходит, но вот звука нет в обе стороны.
#33 29.10.2010 11:20

asusers
Хорошо, что вызов прошёл. Насчёт звука, попробуйте поставить опцию canreinvite=no в настройках 6003 и сипнета. У вас есть НАТ? Посмотрите по поводу кодеков. Стоят ли требуемые кодеки?
#35 29.10.2010 19:02

Все звук есть и на вход и на исход вызовах. Как будут данные на utel думаю вернусь к Вам тк все говорят что там заморочки у них. Ну и последний вопрос я сделал exten => 7000,1,Set(CALLERID(name)="Sipnet call") но CALLERID не изменяется...
#36 01.11.2010 08:08

asusers
Сделайте так, для того чтобы увидеть что вообще творится:
Code:

exten => 7000,1,NoOp(${CALLERID(name}) ; посмотрите как выглядит переменная до переназначения
exten => 7000,n,Set(CALLERID(name)=Sipnet call) ; переназначение
exten => 7000,n,NoOp(${CALLERID(name}) ; просмотр после переназначения
Проверьте без кавычек "
#37 03.11.2010 14:13

Все работало и вдруг при вход звонке стала появляться ошибка вида, изменял только дату и время!

[Nov 3 18:07:20] WARNING[2532]: app_dial.c:1750 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
== Everyone is busy/congested at this time (1:0/0/1)

Отбой все так же само по себе после 3-4 перезагрузок заработало Laughing