Приобрел DID, провайдер выдал username, password, host. У меня asterisk 1.6.2.9 c белым ИП (без ната). Добавляем в sip.conf
[general]
register => username:password@sip.provider.com/username
[provider]
type=friend
username=username
fromuser=username
fromdomain=sip.provider.com
secret=password
host=sip.provider.com
qualify=1000
disallow=all
allow=g729
allow=ulaw
allow=alaw
canreinvite=no
context=from-provider
insecure=invite
звоним на did, смотрим в CLI
chan_sip.c: username mismatch, have <provider>, digest has <username>
chan_sip.c: Failed to authenticate device "96381XXXX" <sip:96381XXXX@ip_provider>;tag=as35aa1aed
где 96381XXXX, номер с которого я звоню, ну и естественно он всегда разный.
Делаю то же самое на тестовой виртуальной машине за натом все работает прекрасно (немножко отличаются версии астериска), т.е. DID работает правильно.
Натолкните на путь истинный...
Попробуйте добавить nat=no
Может задам глупый вопрос, но все же, с кем не бывает: входящий маршрут для дида прописан? Username и DID это одно и тоже?
А tcpdump что говорит?
tcpdump впринципе говорит тоже что и sip debug. Сейчас буду сравнивать линия за линией с дебагами той машины где это работает
alphil ( 2012-01-13 21:34:37 +0400 )редактироватьна внешнем интерфейсе порт послушай
tcpdump -i eth0 -nn port 5060
bolshoy_plohish ( 2012-01-14 06:55:19 +0400 )редактироватьИ еше порсмотри, правилно ли написал username и secret Оппечатки нет!?
bolshoy_plohish ( 2012-01-14 07:10:29 +0400 )редактироватьОн у тебя говорит что регистрацию не проходит!
bolshoy_plohish ( 2012-01-14 07:11:12 +0400 )редактироватьА где это видно, что не проходит регистрацию ? Я регистрируюсь у провайдера, чтобы он знал куда мне входящие отправлять и в sip show registry все ок.
sip.provider.com:5060 N username 105 Registered Sat, 14 Jan 2012 16:10:52
А вот когда провайдер мне вручает входящий звонок, то насколько я понимаю, при указаном insecure=invite не должна проходить никакая авторизация, если совпадает host и есть соответсвующий контекст, а в консоле видим
[2012-01-14 16:16:00] WARNING[1790]: chan_sip.c:12729 check_auth: username mismatch, have <provider>, digest has <username>
[2012-01-14 16:16:00] NOTICE[1790]: chan_sip.c:20073 handle_request_invite: Failed to authenticate device "9638XXXXXX" <sip:9638XXXXXX@ip_provider>;tag=as616732f5
alphil (
2012-01-14 19:18:33 +0400
)редактироватьusername mismatch - не правильное (не соответствует) имя пользователя
tcpdump SIP/2.0 401 Unauthorized
SIP/2.0 403 Forbidden
bolshoy_plohish ( 2012-01-14 19:37:54 +0400 )редактироватьfromdomain - должен быть ваш адрес, не адрес провайдера. Советую его вообще убрать или изменить на IP вашего сервера. Так же попробуйте явно прописать CallerID для данного пира. Если ничего не даст, выложите дебаг.
попробовал все что вы сказали - результат тот же. готовлю дебаг к показу.
alphil ( 2012-01-12 23:47:33 +0400 )редактироватьЕсли сделать вот такой контекст (в буквальном смысле, ничего больше), то входящий звонок прекрасно попадает в from-provider
[96381ХХХХ]
type=user
context=from-provider
Проблема в том что 96381ХХХХ - это номер с которого я звоню.
Здесь почитай! http://asterisk.ru/knowledgebase/Asterisk+config+sip.conf
bolshoy_plohish ( 2012-01-15 04:42:58 +0400 )редактироватьРЕШЕНО. Все заработало после core restart now, а до этого делал sip reload. Описание пира такое:
[general]
register => username:password@sip.provider.com/username
[provider]
type=friend
host=sip.provider.com
disallow=all
allow=g729
allow=alaw
canreinvite=no
context=from-provider
insecure=invite
nat=no
Спасибо всем поддержавшим советами.
Задан: 2012-01-12 22:53:03 +0400
Просмотрен: 11,379 раз
Обновлен: Jan 15 '12
A2Billing: no value given for outbound proxy on line 0 of sip.conf
Распределение входящих по транкам
Входящая маршрутизация zap-транков [закрыт]
Входящая маршрутизация(Inbound Routes)
FreePBX, 4 транка как привязать каждый транк к определенной группе (при входящем вызове)
Не могу понять как привязать входящие на определенный транк
Входящие звонки с NSG-800 на FreePBX
Выбор соответствующего Outbound
Как заставить chan_dongle передавать в качестве "номера DID" IMEI модема? [закрыт]
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Как бы все должно решаться с помощью
ан нет. Failed to authenticate device
alphil ( 2012-01-13 13:32:18 +0400 )редактироватьДобавлю еще sip show peer provider
alphil ( 2012-01-13 13:36:03 +0400 )редактировать