Приобрел 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 что говорит?
И еше порсмотри, правилно ли написал username и secret Оппечатки нет!?
bolshoy_plohish (Jan 14 '12)editА где это видно, что не проходит регистрацию ? Я регистрируюсь у провайдера, чтобы он знал куда мне входящие отправлять и в 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 (Jan 14 '12)editusername mismatch - не правильное (не соответствует) имя пользователя
tcpdump SIP/2.0 401 Unauthorized
SIP/2.0 403 Forbidden
bolshoy_plohish (Jan 14 '12)editfromdomain - должен быть ваш адрес, не адрес провайдера. Советую его вообще убрать или изменить на IP вашего сервера. Так же попробуйте явно прописать CallerID для данного пира. Если ничего не даст, выложите дебаг.
Если сделать вот такой контекст (в буквальном смысле, ничего больше), то входящий звонок прекрасно попадает в from-provider
[96381ХХХХ]
type=user
context=from-provider
Проблема в том что 96381ХХХХ - это номер с которого я звоню.
Здесь почитай! http://asterisk.ru/knowledgebase/Asterisk+config+sip.conf
bolshoy_plohish (Jan 15 '12)editРЕШЕНО. Все заработало после 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
Спасибо всем поддержавшим советами.
Задан: Jan 12 '12
Просмотрен: 11,392 раз
Обновлен: Jan 15 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Как бы все должно решаться с помощью
ан нет. Failed to authenticate device
alphil (Jan 13 '12)editДобавлю еще sip show peer provider
alphil (Jan 13 '12)edit