VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Несколько нубских вопросов по sip.conf

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
skotenok
Сообщения: 4
Зарегистрирован: 23 июл 2012, 12:19

Несколько нубских вопросов по sip.conf

Сообщение skotenok »

1. Как жить без insecure=invite?
Есть пара sip-номеров от одного провайдера, потребовалось их разделить. Проблема, что входящие на оба номера попадают в последний контекст (incoming2):

Код: Выделить всё

[num1]
type=peer
secret=qazwsx
username=78431234567
hasexten=no
host=sip.provider.ru
context=incoming1
insecure=invite
fromuser=78431234567
fromdomain=sip.provider.ru

[num2]
type=peer
secret=qwerty
username=78431234568
hasexten=no
host=sip.provider.ru
context=incoming2
insecure=invite
fromuser=78431234568
fromdomain=sip.provider.ru
Догадываюсь, что проблема в insecure=inivte, но, если убрать, начинает просить регистрацию у каждого входящего. Как нормальные люди эту ситуацию разруливают?

2. register => user@domain:secret:authuser@host:port/extension
В доках и везде обьясняют, что нужно для входящих, но у других провайдеров работало и без этой записи. Понадобилось ради extension - требование прова. Заработало, но методом тыка, полного понимания нет. В чём принципиальное отличие от "обычного" варианта [sip-prov] type=peer-а, что потребовалось дублировать в global?

3. Как отлаживать sip?
Выставляю sip set debug peer stupid_prov, сыплется портянка вида:

Код: Выделить всё

Retransmitting #3 (NAT) to 80.90.123.456:5060:
REGISTER sip:sip.provider.ru SIP/2.0
Via: SIP/2.0/UDP 123.456.123.45:5060;branch=z9hG4bK48cf396e
From: <sip:5432100@sip.provider.ru>;tag=as458ad42b
To: <sip:5432100@sip.provider.ru>
Call-ID: 3120c4bc0d7a6c504b5fcb336fbe96f5@127.0.1.1
CSeq: 102 REGISTER
User-Agent: Asterisk PBX
Max-Forwards: 70
Expires: 120
Contact: <sip:5432100@123.456.123.45>
Event: registration
Content-Length: 0
---
[Oct  5 03:19:13] NOTICE[2665]: chan_sip.c:8398 sip_reg_timeout:    -- Registration for '5432100@sip.provider.ru' timed out, trying again (Attempt #26)
REGISTER 11 headers, 0 lines
Reliably Transmitting (NAT) to 80.90.123.456:5060:
REGISTER sip:sip.provider.ru SIP/2.0
Via: SIP/2.0/UDP 123.456.123.45:5060;branch=z9hG4bK5e5885c1
From: <sip:5432100@sip.provider.ru>;tag=as3fb426ae
To: <sip:5432100@sip.provider.ru>
Call-ID: 3120c4bc0d7a6c504b5fcb336fbe96f5@127.0.1.1
CSeq: 128 REGISTER
User-Agent: Asterisk PBX
Max-Forwards: 70
Expires: 120
Contact: <sip:5432100@123.456.123.45>
Event: registration
Content-Length: 0
Каждой поле по отдельности вроде понятно, но не могу понять, что не так (не идут входящие). Очевидно, что это - попытка зарегиться у прова, почему-то неудачная. Как можно докопаться до причины отлупа?

4. В целом ощущаю, что недопонимаю работу именно этого модуля (chan_sip). Что-то нашёл в сети, sip.conf вроде перечитал, но как-то всё разрозненно, в цельную картину не складывается. Простые с виду вопросы ставят в тупик. Если кому не лень, опишите (или ткните носом):
- Как проследить путь звонка от момента приёма до попадания в диалплан? (был момент, что вижу в debug-е входящий, но в диалплан не попадает, как-то само решилось, надо понять, как эти вещи отслеживать).
- Как понять, почему входящие могут идти не в свой контекст, а в default? (Разумеется, с учётом, что контекст им в sip.conf прописан. Есть железка AllVoip AL3400 на 4 gsm-порта, с 1,3го - идут звонки правильно, с 2,4го - в default, при этом у них все настройки одинаковы и никакой ругани в выводе, хочу сам додуплить, почему, но легкий пинок в нужную сторону не помешал бы).
skotenok
Сообщения: 4
Зарегистрирован: 23 июл 2012, 12:19

Re: Несколько нубских вопросов по sip.conf

Сообщение skotenok »

По п.1 - я сразу написал, что знаю, в чём причина. Не знаю, как это вылечить. Вариант в статье - выкинуть * и взять FreeSwitch. Это как решать проблемы с Апачем установкой Nginx - это надо в новой архитектуре разбираться, скрипты переписывать, в общем вариант на отдалённое будущее.
Ну и не поверю, что проблема настолько редкая, что для неё нет нормального решения..
ded
Сообщения: 15626
Зарегистрирован: 26 авг 2010, 19:00

Re: Несколько нубских вопросов по sip.conf

Сообщение ded »

skotenok писал(а):1. Как жить без insecure=invite?
Есть пара sip-номеров от одного провайдера, потребовалось их разделить. Проблема, что входящие на оба номера попадают в последний контекст (incoming2):
Описывайте внятней. Не проблемА, а проблемЫ, по крайней мере две: одна для разделения входящих, другая - для разделения исходящих. Какую сначала решаем? Входящие?
skotenok писал(а):Догадываюсь, что проблема в insecure=inivte, но, если убрать, начинает просить регистрацию у каждого входящего.
Не правильно догадываетесь, и неправильно сформулировано. При входящем начинает просить аутентификацию (пытаться аутентифицировать как юзера в запросе INVITE), а не регистрацию. Я полагаю, что зарегистрированы то у Вас оба номера (sip show registry?)

Вместо двух пиров num1 & num2

Код: Выделить всё

[num1]
type=peer
secret=qazwsx
username=78431234567
hasexten=no
host=sip.provider.ru
context=incoming1
insecure=invite
fromuser=78431234567
fromdomain=sip.provider.ru

[num2]
type=peer
secret=qwerty
username=78431234568
hasexten=no
host=sip.provider.ru
context=incoming2
insecure=invite
fromuser=78431234568
fromdomain=sip.provider.ru
сделайте пир

Код: Выделить всё

[SIPprovider]
type=friend
secret=qwerty
host=sip.provider.ru
context=global-incoming
insecure=invite
fromdomain=sip.provider.ru
а в созданном контексте сделайте перенаправляторы

Код: Выделить всё

[global-incoming] 
exten => 78431234567,1,Goto(incoming1,${EXTEN},1)
exten => 78431234568,1,Goto(incoming2,${EXTEN},1)
Отвечать на все Ваши вопросы разом будет крайне утомительно. Всё в кучу.
3. Как дебажить sip? Вы его уже дебажите, но не понимаете, логи не понятны, так? Из приведённого куска видны перепосланные (Retransmitting) SIP запросы REGISTER от вашего Астериска - оператору, на которые нет ответа.

Код: Выделить всё

 Retransmitting #3 (NAT) to 80.90.123.456:5060:
REGISTER sip:sip.provider.ru SIP/2.0
Via: SIP/2.0/UDP 123.456.123.45:5060;branch=z9hG4bK48cf396e
From: <sip:5432100@sip.provider.ru>;tag=as458ad42b
To: <sip:5432100@sip.provider.ru>
Call-ID: 3120c4bc0d7a6c504b5fcb336fbe96f5@127.0.1.1
CSeq: 102 REGISTER
User-Agent: Asterisk PBX
Max-Forwards: 70
Expires: 120
Contact: <sip:5432100@123.456.123.45>
Event: registration
Content-Length: 0
---
Почему нет ответов? 101 причина, как на стороне оператора, так и на вашей - firewall, routing, кривой NAT, и т.п.
Почему бывает, что не пингается хост?
Почему бывает - пингается, а НТТР нету?
Почему бывает - НТТР есть, но 403 - Forbidden?
Методология решения очень похожа.
skotenok
Сообщения: 4
Зарегистрирован: 23 июл 2012, 12:19

Re: Несколько нубских вопросов по sip.conf

Сообщение skotenok »

Вернулся наконец-то к астериску, предыдущие вопросы в-принципе решены.
Спасибо, ded, по вопросам/ответам:
1. Так и сделал в итоге. Не нравится, что проблема, относящаяся к непоняткам sip-а решается в диалплане, ощущение, что место данному разделению входящих в sip.conf.
Исходящие идут по другим номерам и вполне логично в диалплан вписываются.

2. Понятнее зачем, не понятно - почему отдельно? Пробовал играться с auth, нифига не контачит..
Вопрос остался - почему у других провов работает на incoming\outgoing без отдельного записи о регистрации?.. Хотелось бы ссылку на подробно разжёванную статью о процессах регистрации/аутентификации в sip и * в частности (may be in english), если не лень кому поделиться.

3. До причины отлупа так и не допёр, просто взяло и стало работать.. Магия.. :-). На самом деле завелось через день после звонка провайдеру, может они у себя что-то поправили (отвечали, что у них всё пучком, проблемы у нас. Номер был нужен не срочно, откладывал его на потом, но допиливал диалплан правил кучу конфигов, вроде как к делу не относящихся). Доступностью порта проверял ДО написания сюда, косяков не заметил.
Проблема скорее в другом - понимание debug-output астера. Скилл слегка прокачан "фармингом", но это чистый "метод тыка". Есть где-нибудь полное и/или понятное описание debug выхлопа? Гуглом не нашёл.
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Несколько нубских вопросов по sip.conf

Сообщение virus_net »

skotenok писал(а):Есть где-нибудь полное и/или понятное описание debug выхлопа?
SIP: Session Initiation Protocol
Протокол SIP (Гольдштейн Б.С., Зарубин А.А., Саморезов В.В.)
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
ded
Сообщения: 15626
Зарегистрирован: 26 авг 2010, 19:00

Re: Несколько нубских вопросов по sip.conf

Сообщение ded »

skotenok писал(а):Вопрос остался - почему у других провов работает на incoming\outgoing без отдельного записи о регистрации?..
Потому что нет Единого Стандарта Подключения Пользователей Обязательного к Исполнентю Ждя Всех Операторов Связи.
Каждый сам устанавливает свои правила. Вот тут товарищ ua.sip в соседней ветке прожимает свои правила. Он ТАК считает.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH