Всем привет! Имеются телефоны из dlink-ой линейки (DPH-150,DPH-400S), если asterisk отвечает в ответ кодом "404" то телефоны не регистрируются, помогает перезагрузка или изменения параметров. В штабе dlink сказали, что они намерено так сделали на этих линейках. Вопрос как подменить код ошибки?
'10.10.10.27' - Device does not match ACL ты уверен что там он permit проходит и domain? просто смахивает на то, что разрешена сетка класса C..
Интересно, почему происходит
если asterisk отвечает в ответ кодом "404"
Реально это Жж не просто так, sip set debug peer xxx в студию!!
Really destroying SIP dialog 'a0a0a1b-13c4-3e122f80-a8c0-5303@10.10.10.27' Method: REGISTER <--- SIP read from 10.10.10.27:5060 ---> REGISTER sip:10.0.0.16 SIP/2.0 From: "56998"<sip:56998@10.0.0.16>;tag=a0a0a1b-13c43e122f82 To: <sip:56998@10.0.0.16> Call-ID: a0a0a1b-13c4-3e122f80-a8c0-5303@10.10.10.27 CSeq: 11109 REGISTER Via: SIP/2.0/UDP 10.10.10.27:5060;branch=z9hG4bK-247d75a3-10939d50-3725 Max-Forwards: 70 Supported: 100rel,replaces User-Agent: DPH-400S/SE-1.00 Contact: <sip:56998@10.10.10.27:5060> Expires: 100 Content-Length: 0 <-------------> --- (12 headers 0 lines) --- Using latest REGISTER request as basis request Sending to 10.10.10.27 : 5060 (no NAT) [Feb 28 23:18:05] DEBUG[21497]: res_config_mysql.c:673 mysql_reconnect: MySQL RealTime: Everything is fine. [Feb 28 23:18:05] DEBUG[21497]: res_config_mysql.c:141 realtime_mysql: MySQL RealTime: Retrieve SQL: SELECT * FROM sip_buddies WHERE name = '56998' AND host = 'dynamic' [Feb 28 23:18:05] WARNING[21497]: acl.c:337 ast_append_ha: NULL is not a valid IP [Feb 28 23:18:05] WARNING[21497]: acl.c:337 ast_append_ha: NULL is not a valid IP <--- Transmitting (no NAT) to 10.10.10.27:5060 ---> SIP/2.0 404 Not found Via: SIP/2.0/UDP 10.10.10.27:5060;branch=z9hG4bK-247d75a3-10939d50-3725;received=10.10.10.27 From: "56998"<sip:56998@10.0.0.16>;tag=a0a0a1b-13c43e122f82 To: <sip:56998@10.0.0.16>;tag=as2bc140fb Call-ID: a0a0a1b-13c4-3e122f80-a8c0-5303@10.10.10.27 CSeq: 11109 REGISTER User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO Supported: replaces Content-Length: 0 <------------> [Feb 28 23:18:05] NOTICE[21497]: chan_sip.c:16796 handle_request_register: Registration from '<sip:56998@10.0.0.16>' failed for '10.10.10.27' - Device does not match ACL [Feb 28 23:18:05] NOTICE[21497]: chan_sip.c:16796 handle_request_register: Registration from '<sip:56998@10.0.0.16>' failed for '10.10.10.27' - Device does not match ACL Scheduling destruction of SIP dialog 'a0a0a1b-13c4-3e122f80-a8c0-5303@10.10.10.27' in 32000 ms (Method: REGISTER) Really destroying SIP dialog 'a0a0a1b-13c4-3e122f80-a8c0-5303@10.10.10.27' Method: REGISTER [Feb 28 23:19:05] DEBUG[21497]: res_config_mysql.c:673 mysql_reconnect: MySQL RealTime: Everything is fine. [Feb 28 23:19:05] DEBUG[21497]: res_config_mysql.c:357 update_mysql: MySQL RealTime: Update SQL: UPDATE sip_buddies SET fullcontact = '', ipaddr = '', port = '', regseconds = '0', regserver = '' WHERE name = '56998' [Feb 28 23:19:05] DEBUG[21497]: res_config_mysql.c:371 update_mysql: MySQL RealTime: Updated 1 rows on table: sip_buddies [Feb 28 23:19:05] DEBUG[21497]: res_config_mysql.c:673 mysql_reconnect: MySQL RealTime: Everything is fine. [Feb 28 23:19:05] DEBUG[21497]: res_config_mysql.c:357 update_mysql: MySQL RealTime: Update SQL: UPDATE sip_buddies SET lastms = '' WHERE name = '56998' [Feb 28 23:19:05] DEBUG[21497]: res_config_mysql.c:371 update_mysql: MySQL RealTime: Updated 1 rows on table: sip_buddies
я специально блокировал deny=0.0.0.0/0.0.0.0 чтобы получить результат код ошибки 404. Для чего это нужно было, у меня часто падает ASTERISK. Чтобы выяснить причину необходимо добавить DONTOPTIMIZE, но если я его добавляю, то у меня перестает работать appaddonsqlmysql.so и все 1,5K телефонов падают и те аппараты, которые не умеют отрабатывать код ошибки 404 самостоятельно не поднимаются. Вот мне и нужно было найти более подходящий случай. На тестовой машине добавлял DONT_OPTIMIZE и все отлично работало. На боевой машине не могу экспериментировать.
Задан: 2011-02-28 18:47:22 +0400
Просмотрен: 1,584 раз
Обновлен: Mar 01 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.