jabber:zzuzman@jabber.ru
Gtalk: zzuzman
skype: zzuzman
1000 рублей за исправление .
SSH , HTTP обязательны.
zzuz ( 2011-12-04 17:13:33 +0400 )редактироватьВсем привет, понимаю, что тема неоднократно поднималась, но моя проблема так и не решилась прочтением документации и топиков на форуме. Elastix отказывается принимать входящие звонки от Telphin. Ошибка 401.
Настройка TRUNK PEER:
context=from-trunk-sip-MyUSA type=peer username=00061763 fromuser=00061763 secret=qwerty host=sip.telphin.com port=5068 promiscredir=yes qualify=yes disallow=all allow=g729 insecure=port,invite
USER:
context=from-trunk-sip-MyUSA type=peer username=00061763 host=sip.telphin.com port=5068
Если смотреть sip show peer MyUSA то видно, что insecury выставлено в port,invite. Следовательно оно прописалось. Перезагрузка не помогает, проблема 401 остается. В чем может быть дело?
Пробовал менять peer на friend, пробовал менять контекст на from-trunk & from-pstn, но проблема не в контексте, это точно, так как такой контекст, как описан выше есть. Какие будут предположения?
Мне срочно надо решить этот вопрос. Может быть товарищ ZZUZ или кто то другой возьмется оказать консалтинг на платной основе? Оплата YANDEX MONEY, наличными в Москве или безналом.
jabber:zzuzman@jabber.ru
Gtalk: zzuzman
skype: zzuzman
1000 рублей за исправление .
SSH , HTTP обязательны.
zzuz ( 2011-12-04 17:13:33 +0400 )редактироватьТак как вставить лог в коммент, и отформатировать его как код у меня не получилось, вставляю лог в новый ответ.
[Dec 3 01:48:13] VERBOSE[5171] pbx.c: -- Executing [00061763@from-trunk:3] ExecIf("SIP/MyUSSR-00000000", "0 ?Set(CALLERID(name)=79035550055)") in new stack
[Dec 3 01:48:13] VERBOSE[5171] pbx.c: -- Executing [s@macro-user-callerid:1] Set("SIP/MyUSSR-00000000", "AMPUSER=79035550055") in new stack
[Dec 3 01:48:13] VERBOSE[5171] pbx.c: -- Executing [s@macro-user-callerid:3] ExecIf("SIP/MyUSSR-00000000", "1?Set(REALCALLERIDNUM=79035550055)") in new stack
[Dec 3 01:48:13] VERBOSE[5171] pbx.c: -- Executing [s@macro-user-callerid:19] NoOp("SIP/MyUSSR-00000000", "Using CallerID "79035550055" <79035550055>") in new stack
[Dec 3 01:48:13] VERBOSE[5171] res_agi.c: dialparties.agi: Caller ID name is '79035550055' number is '79035550055'
[Dec 3 01:48:13] VERBOSE[5171] res_agi.c: -- dialparties.agi: dbset CALLTRACE/4444 to 79035550055
[Dec 3 01:48:32] VERBOSE[5174] pbx.c: -- Executing [00061763@from-trunk:3] ExecIf("SIP/MyUSSR-00000002", "0 ?Set(CALLERID(name)=79035550055)") in new stack
[Dec 3 01:48:32] VERBOSE[5174] pbx.c: -- Executing [s@macro-user-callerid:1] Set("SIP/MyUSSR-00000002", "AMPUSER=79035550055") in new stack
[Dec 3 01:48:32] VERBOSE[5174] pbx.c: -- Executing [s@macro-user-callerid:3] ExecIf("SIP/MyUSSR-00000002", "1?Set(REALCALLERIDNUM=79035550055)") in new stack
[Dec 3 01:48:32] VERBOSE[5174] pbx.c: -- Executing [s@macro-user-callerid:19] NoOp("SIP/MyUSSR-00000002", "Using CallerID "79035550055" <79035550055>") in new stack
[Dec 3 01:48:32] VERBOSE[5174] res_agi.c: dialparties.agi: Caller ID name is '79035550055' number is '79035550055'
[Dec 3 01:48:32] VERBOSE[5174] res_agi.c: -- dialparties.agi: dbset CALLTRACE/4444 to 79035550055
Из лога видно, что звонок идет для DID 00061763, но почему его обрабатывает транк MyUSSR??? Ведь в настройках транка MyUSSR указан username & fronuser 00054900, а 00061763 указан в транке MyUSA.
username & fronuser для исходящих , какая строка register для 00054900 ?
zzuz ( 2011-12-03 20:20:29 +0400 )редактировать00054900:qwerty@sip.telphin.com:5068/00054900 - для 00054900 00061763:qwerty@sip.telphin.com:5068/00061763 - для 00061763
BasKis ( 2011-12-03 20:31:13 +0400 )редактироватьТолько что пришел ответ поддержки телфина по этой проблеме, они сообщают, что проблема на моей стороне. Мол они посылают звонок как надо. Прислали даже лог звонка. Нужен?
BasKis ( 2011-12-03 20:36:57 +0400 )редактироватьОгромное всем спасибо, я во всем разобрался, теперь входящие вызовы принимаются, остался только один косяк, который я так и не могу решить.
Host dnsmgr Username Refresh State Reg.Time
sip.telphin.com:5068 N 00061763 1785 Registered Sat, 03 Dec 2011 01:47:15
sip.telphin.com:5068 N 00054900 1785 Registered Sat, 03 Dec 2011 01:47:15
sip.telphin.com:5068 N 00047958 1785 Registered Sat, 03 Dec 2011 01:47:15
Здесь видно, что имеются три транка в пользу телфина. Исходящие вызовы совершаются через транки 4900 и 7958, транк 1763 служит только для приема входящих вызовов.
В система транки названы так:
1763 - MyUSA
4900 - MyUSSR
7958 - MyUK
Настройка транка выглядит следующим образом:
PEER:
context=from-trunk-sip-MyUSA
type=peer
username=00061763
fromuser=00061763
secret=qwerty
host=sip.telphin.com
port=5068
promiscredir=yes
qualify=yes
disallow=all
allow=g729
insecure=port,invite
USER:
context=from-trunk-sip-MyUSA
type=peer
username=00061763
host=sip.telphin.com
port=5068
STRING:
00061763:qwerty@sip.telphin.com:5068/00061763
При совершении входящего звонка, который должен приходить через транк 1763 он по какой то причине приходит через транк 4900, что отчетливо видно в CDR репорте.
2011-12-03 01:48:32 79035550055 8016 SIP/MyUSSR-00000002
Подскажите пожалуйста, в чем дело? Почему так происходит?
К сожалению не смогу рутом добраться до сервера из дома, АСА которая стоит перед ним запрещает SSH трафик. Может быть у меня что то не так в настройке транка? А точнее в поле USER или там все верно?
P.S. Сейчас есть доступ только к FreePBX.
BasKis ( 2011-12-03 02:23:37 +0400 )редактироватьАстериск различает разные транки по адресу, порту и по DID. если нет различия в DID астериск думает что это один и тот же транк и вызов приходит с первого попавшегося.
switch ( 2011-12-03 10:30:33 +0400 )редактироватьВывод строки sip show registry виден в самом верху. DID там везде разные. или это не то?
BasKis ( 2011-12-03 10:43:12 +0400 )редактироватьЯ то , но строки register с did *4900 я в упор не вижу.
zzuz ( 2011-12-03 12:19:11 +0400 )редактироватьПод 4900 я имел ввиду sip.telphin.com:5068 N 00054900
BasKis ( 2011-12-03 12:22:34 +0400 )редактироватьЯ думал поле USER нужно как раз для того, что бы входящими рулить.
BasKis ( 2011-12-03 12:26:22 +0400 )редактироватьТак если Вы так думали , зачем тогда type=peer в этом поле? Этим Вы дублируете запись в таблицах ACL. И прошу заметить , что ниже постом , где я вложил пример работающего конфига для телфина , я указал явно "Только опция PEER и строка регистрации.". На что Вы ввели нас в заблуждение о том, что у вас также , то есть "Отличий нет".
zzuz ( 2011-12-03 12:32:29 +0400 )редактироватьНа тот момент различий действительно не было, а звонки так же как и сейчас падали не через тот транк. Вот я и решил попробовать заполнить поле USER. Предлагаете сейчас его убрать, перезапустисть астериск и попробовать еще раз позвонить и посмотреть, что будет?
BasKis ( 2011-12-03 12:34:43 +0400 )редактироватьНе дожидаясь ответов решил опять убрать значения в поле USER настройки транка. Сейчас заполнено только поле PEER, перезагрузил полностью сервер. Ситуация не изменилась. :(
BasKis ( 2011-12-03 13:30:28 +0400 )редактироватьвсе ответы в
sip set debug
и в файле /var/log/asterisk/full
zzuz ( 2011-12-03 16:41:09 +0400 )редактировать[Dec 3 01:48:13] VERBOSE[5171] pbx.c: -- Executing [00061763@from-trunk:3] ExecIf("SIP/MyUSSR-00000000", "0 ?Set(CALLERID(name)=79035550055)") in new stack [Dec 3 01:48:13] VERBOSE[5171] pbx.c: -- Executing [s@macro-user-callerid:1] Set("SIP/MyUSSR-00000000", "AMPUSER=79035550055") in new stack [Dec 3 01:48:13] VERBOSE[5171] pbx.c: -- Executing [s@macro-user-callerid:3] ExecIf("SIP/MyUSSR-00000000", "1?Set(REALCALLERIDNUM=79035550055)") in new stack [Dec 3 01:48:13] VERBOSE[5171] pbx.c: -- Executing [s@macro-user-callerid:19] NoOp("SIP/MyUSSR-00000000", "Using CallerID "79035550055" <79035550055>") in new stack [Dec 3 01:48:13] VERBOSE[5171] resagi.c: dialparties.agi: Caller ID name is '79035550055' number is '79035550055' [Dec 3 01:48:13] VERBOSE[5171] resagi.c: -- dialparties.agi: dbset CALLTRACE/4444 to 79035550055
Вот логи. Из него видно, что звонок для DID 00061763 падает в транк MyUSSR, а должен падать в MyUSA.
BasKis ( 2011-12-03 18:29:55 +0400 )редактироватьЯ ничего не вижу в этом логе , куча символов в одной строке.
zzuz ( 2011-12-03 19:19:24 +0400 )редактироватьЛед тронулся, правда ситуация стала еще более запутанной. Как я уже говорил, на сервере есть еще пара транков в пользу Telphin. Так вот, при asterisk -vvvr видно, что при входящем звонке на номер привязанный к did 00061763 он идет через trunk, который был заведен в системе самый первый. То есть, транк с дидом 00061763 называется MyUSA, а транк с дидом 00061760 называется MyUSSR, и звонок видно, что падает через него. Если его удалить и в системе оставить только транк MyUSA, звонок пойдет уже через него и все будет ОК, а когда в системе другие транки, вот такая вот беда. Как такое может быть?
Понятно. Telphin звонит на первый в списке зарегистрированный транк. Спасибо. Буду ковыряться.
BasKis ( 2011-12-01 13:51:53 +0400 )редактироватьНе совсем так. Телфин вызывает пир который зарегестрирован, и вызывает DID , который прописан в строке регистрации.
zzuz ( 2011-12-01 14:33:51 +0400 )редактироватьТогда как такое может быть? Телфин звонит мне на пир ХХХ вызывая дид YYY?
BasKis ( 2011-12-01 14:50:39 +0400 )редактироватьВы сами указываете , что должен вызывать ваш пир , когда этот пир вызывают.
zzuz ( 2011-12-01 14:59:23 +0400 )редактироватьВот настройки с рабочего сервера . Только опция PEER и строка регистрации.
username=00061763
type=peer
port=5060
secret=qwerty
host=sip.telphin.com
fromuser=00061763
insecure=invite
строка регистрации
00061763:qwerty@sip.telphin.com/00061763
если не работает , то ищите отличия.
Интересная штука, на сервере есть еще три транка, которые используются для исходящих соединений. Все эти транки завернуты на Telphin. После того, как прописал во всех остальных транках insecure=port,invite ошибка с 401 изменилась на 503. Как быть дальше?
проверьте контекст куда приходит звонок. и дайте вывод в консоли в момент прихода звонка
brost ( 2011-12-01 12:28:11 +0400 )редактироватьЗадан: 2011-12-01 09:07:39 +0400
Просмотрен: 3,167 раз
Обновлен: Dec 03 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
А кодек 729 точно стоит?
zzuz ( 2011-12-01 10:04:36 +0400 )редактироватьДа. Точно. Проблема изменилась. Ниже отписался.
BasKis ( 2011-12-01 11:17:45 +0400 )редактироватьа что говорит sip show registry ?
zzuz ( 2011-12-01 11:20:26 +0400 )редактироватьГоворит, что все отлично.
sip.telphin.com:5068 N 00061763 1785 Registered Thu, 01 Dec 2011 10:15:03 sip.telphin.com:5068 N 00054900 1785 Registered Thu, 01 Dec 2011 10:15:03 sip.telphin.com:5068 N 00047958 1785 Registered Thu, 01 Dec 2011 10:15:03 3 SIP registrations.
BasKis ( 2011-12-01 11:23:29 +0400 )редактироватьcore show translation
zzuz ( 2011-12-01 12:09:48 +0400 )редактироватьg729 - 3000 1001 1001 4999 2000 1000 3000 - 7999 - 3999 1001 - - 2001
есть g729, есть. убрал сейчас из транка приоретет кодек. ситуация не изменилась. 503 ошибка.
BasKis ( 2011-12-01 12:15:54 +0400 )редактировать