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

Изменение заголовка Contact

Проблемы Asterisk без вэб-оболочек и их решения

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

ukrop
Сообщения: 8
Зарегистрирован: 08 сен 2021, 12:52

Изменение заголовка Contact

Сообщение ukrop »

Здравствуйте.
Пытаюсь подключится к ростелекомскому облаку и все время получаю ошибку 403.
Ростелеком говорит, что в поле Contact неверно указан домен:

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

       > 0x99683c0 -- Strict RTP learning after remote address set to: 192.168.3.113:10038
    -- Executing [140@local:1] Dial("SIP/101-00000010", "SIP/180/8927012345678") in new stack
  == Using SIP RTP CoS mark 5
Audio is at 23954
Adding codec ulaw to SDP
Adding codec alaw to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to 123.45.249.116:5060:
INVITE sip:8927012345678@123456.17.rt.ru SIP/2.0
Via: SIP/2.0/TCP 192.168.3.71:5060;branch=z9hG4bK379d4ac6;rport
Max-Forwards: 70
From: "admin" <sip:admin@12345.17.rt.ru>;tag=as65bf7d16
To: <sip:8927012345678@782454.17.rt.ru>
Contact: <sip:admin@192.168.3.71:5060;transport=tcp>               ; вот эта строчка виновата
Call-ID: 7c64b18e760132286d1aa9864cb403b3@12345.17.rt.ru
CSeq: 102 INVITE
User-Agent: Asterisk PBX 13.38.3
Date: Wed, 08 Sep 2021 09:36:19 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 274
По совету https://forum.asterisk.ru/viewtopic.php?f=3&t=7419 поменял исходник астериска и в chan_sip.c в функции build_contact вручную вписал свой домен. Вызов успешно прошел.
Собственно вопрос - а как делать так, чтобы и домен поля контакт поменять, и исходники не пересобирать.
В исходнике домен берется следующим образом:

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

if (p->socket.type == AST_TRANSPORT_UDP) {
   ast_string_field_build(p, our_contact, "<%s:%s%s%s>", use_sips ? "sips" : "sip",
         user, ast_strlen_zero(user) ? "" : "@",
         ast_sockaddr_stringify_remote(&p->ourip) // так было
         // "12345.17.rt.ru" // а это домен провайдера, если коммент сделать в предыдущей строчке, 
                // а не в этой, то вызов будет идти
         );
УПД: Это я делал в астериске 13. Сейчас скачал версию 18 - там тот-же самый код.
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Изменение заголовка Contact

Сообщение Zavr2008 »

fromdomain и fromuser как раз и делают то что Вам нужно без патчей.
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
ukrop
Сообщения: 8
Зарегистрирован: 08 сен 2021, 12:52

Re: Изменение заголовка Contact

Сообщение ukrop »

fromdomain не делает этого (у меня уже установлен, и давно, не помогло)
fromuser = admin меняет пользователя, но если вписать admin@domain.com, то получается contact sip:admin%12domain.com@192.168.3.71 (то есть это считается именем пользователя дальше).
amateur
Сообщения: 453
Зарегистрирован: 30 сен 2011, 09:58

Re: Изменение заголовка Contact

Сообщение amateur »

ukrop писал(а):Собственно вопрос - а как делать так, чтобы и домен поля контакт поменять, и исходники не пересобирать.
Сделать патч не таким прямолинейным, а немного посложнее. Например, добавить конфигурационную опцию contactdomain и копировать ее значение в заголовок Contact если она имеет не пустое значение.
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Изменение заголовка Contact

Сообщение Zavr2008 »

fromdomain не делает этого
sip конфиг покажите.
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
amateur
Сообщения: 453
Зарегистрирован: 30 сен 2011, 09:58

Re: Изменение заголовка Contact

Сообщение amateur »

ukrop писал(а):fromdomain не делает этого
Конечно не делает. Вы же сами видите, что в функции build_contact значение domain берется только из p->ourip, которое может быть только IP-адресом. Других вариантов, насколько я вижу, в коде chan_sip не предусмотрено.
ukrop
Сообщения: 8
Зарегистрирован: 08 сен 2021, 12:52

Re: Изменение заголовка Contact

Сообщение ukrop »

Вот такой сейчас конфиг: https://pastebin.com/7E3FuwVf
ip адреса и прочее такое все верно вроде проставлено (ну я тут их убрал).
ukrop
Сообщения: 8
Зарегистрирован: 08 сен 2021, 12:52

Re: Изменение заголовка Contact

Сообщение ukrop »

amateur писал(а):Сделать патч не таким прямолинейным, а немного посложнее. Например, добавить конфигурационную опцию contactdomain и копировать ее значение в заголовок Contact если она имеет не пустое значение.
:)
Ну я все-таки надеюсь, что сейчас меня ткнут носом в ответ вида "да вот тут впиши хрень и читай мануалы".
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Изменение заголовка Contact

Сообщение Zavr2008 »

Читайте разницу между type=friend и type=peer.
ТС, ждем конфиг sip пира.
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
ukrop
Сообщения: 8
Зарегистрирован: 08 сен 2021, 12:52

Re: Изменение заголовка Contact

Сообщение ukrop »

Читайте разницу между type=friend и type=peer.
Пробовал менять, в поле контакт ничего не менялось (как мне кажется). Разницы тоже не заметил в плане успешности коннекта.
ТС, ждем конфиг sip пира.
В смысле то, что дал провайдер? Там логин (admin, пароль и домен 12345.17.rt.ru). Если ввести в зоипер это, то все работает.
Если нужен конфиг тилифона на столе - то просто логин 101 и пароль 1234568. Внутри атс все звонит во все стороны нормально.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH