SIP Trunk дает направить входящий вызов ТОЛЬКО на 1 номер?

  • Автор темы Автор темы WarProf
  • Дата начала Дата начала

WarProf

Регистрация
13 Май 2019
Сообщения
31
SIP Trunk дает направить входящий вызов ТОЛЬКО на 1 номер? А как сделать, чтобы какой добавочный номер был набран, на тот и уходил звонок из транка?
 
Добавочный номер набран кем?
 
Добавочный номер набран кем?
Звоню по добавочному с транка:
exten => _4XXX,1,NoOP(${CALLERID(num)})
exten => _4XXX,n,Set(CALLERID(name)=${CALLERID(name)})
exten => _4XXX,n,Dial(${TEST3CX}${EXTEN})
exten => _4XXX,n,Hangup(1)
Он попадает в 3CX, где я могу выбрать ТОЛЬКО определенный номер.

upload_2019-5-28_15-16-49.png
Как выбрать совпадение номеров набранного и 3cxa?
 
Нужно в 3CX создать Master- мост и к нему подключить транк Asterisk https://habr.com/ru/company/3cx/blog/302680/
Это, безусловно, замечательно. Только с 3CXа в таком случае, в транк уйдет номер бриджа. Да, я нашел способ отдать Астериску номер, но номер с ИМЕНЕМ было бы отдавать приятнее. И без костылей типа присвоения номера в имя, а затем наооборот. В случае с SIP Trunk это все работает в обе стороны, но натыкаемся на икуственное ограничение по маршрутизации входящего звонка.

В общем, 3CX - это одни сплошные искуственные ограничения за деньги
 
В поле Display Name вы можете явно указать, откуда брать имя. А номер всегда передается в поле From.
 
В поле Display Name вы можете явно указать, откуда брать имя. А номер всегда передается в поле From.
По-моему вы меня совершенно не слышите. Я вам говорю, что Имя передается ВСЕГДА корректно. Номер не передается.
 
Передача номера - это основа, это поле User:From стандарта SIP. https://www.3cx.com/blog/voip-howto/sip-invite-header-fields/

From:
The “From” header field indicates the identity of the initiator of the request from the point of view of the PBX Server – similar in construction to email addresses (user@domain – where “user” is, for example, the extension number, and “domain” is the server domain or IP address). Like the “To” header field, it contains a URI and optionally a display name. It is used to determine which processing rules to apply to a request.
 
Передача номера - это основа, это поле User:From стандарта SIP. https://www.3cx.com/blog/voip-howto/sip-invite-header-fields/

From:
The “From” header field indicates the identity of the initiator of the request from the point of view of the PBX Server – similar in construction to email addresses (user@domain – where “user” is, for example, the extension number, and “domain” is the server domain or IP address). Like the “To” header field, it contains a URI and optionally a display name. It is used to determine which processing rules to apply to a request.
Речь же идет не о сип транке. Когда сип транком подключаюсь - то все окей. ПРоблема сип транка в том, что маршрутизация на 3CX идет ТОЛЬКО на ОДИН добавочный номер (это трындец как тупо и просто искуственное ограничение)

А в мосте на Asterisk передает ТОЛЬКО номер МОСТА! Все чтоя нарыл в гугле за эти 5 дней, присвоить в 3CX в Display Name -> CallerID, а на Астериске присваивать из CallerID(name) в (CallerID(num)). Имя мы таким образом не получаем, но хотя бы РЕАЛЬНЫЙ номер на который можно перезвонить
 
Речь идет именно о специальном SIP-транке для связи 3CX и другой АТС, например, Asterisk, между собой. А не обычном SIP-транке. Я же выше говорил, что в терминологии 3CX он называется Мост.

Возможно, уже со стороны Asterisk можно как-то поднастроить параметры для этого Моста.
 
Речь идет именно о специальном SIP-транке для связи 3CX и другой АТС, например, Asterisk, между собой. А не обычном SIP-транке. Я же выше говорил, что в терминологии 3CX он называется Мост.

Возможно, уже со стороны Asterisk можно как-то поднастроить параметры для этого Моста.
О том и речь. Что не настраивается. Я потрашил СИП-пакет от 3CXа Атериску. Во всех полях указан номер ТРАНКА!




<------------>
== Spawn extension (10000, 2830, 3) exited non-zero on 'SIP/10000-00000344'
Scheduling destruction of SIP dialog 'u99oV4rfelbeGpMRcNs8Sw..' in 6400 ms (Method: ACK)
set_destination: Parsing <sip:10000@192.168.3CX:5060> for address/port to send to
set_destination: set destination to 192.168.3CX:5060
Reliably Transmitting (no NAT) to 192.168.3CX:5060:
BYE sip:10000@192.168.3CX:5060 SIP/2.0
Via: SIP/2.0/UDP 217.21.Asterisk:5060;branch=z9hG4bK28168a23;rport
Max-Forwards: 70
From: <sip:2830@217.21.Asterisk:5060>;tag=as0ee54797
To: "4002"<sip:10000@3CX:5060>;tag=ef06ca37
Call-ID: u99oV4rfelbeGpMRcNs8Sw..
CSeq: 102 BYE
User-Agent: Asterisk PBX
X-Asterisk-HangupCause: Normal Clearing
X-Asterisk-HangupCauseCode: 16
Content-Length: 0

4002 (номер 3CX) здесь появляется ТОЛЬКО потому, что стоит присвоение в 3CX в Display Name (Num->Name)
 
Смотрите, есть инструкция по объединению 3CX и Asterisk. Я вам ее приводил на русском. Вот оригинал на английском https://www.3cx.com/docs/. Проверьте еще раз, как настроен транк на стороне Astеrisk. Внизу там дается образец пакета, как он должен выглядеть при захвате. Что-то больше этого мне, с сожалению, сложно подсказать. Мы тестировали ее на нескольких инсталляциях - проблем не было.
 
Смотрите, есть инструкция по объединению 3CX и Asterisk. Я вам ее приводил на русском. Вот оригинал на английском https://www.3cx.com/docs/. Проверьте еще раз, как настроен транк на стороне Astеrisk. Внизу там дается образец пакета, как он должен выглядеть при захвате. Что-то больше этого мне, с сожалению, сложно подсказать. Мы тестировали ее на нескольких инсталляциях - проблем не было.
Единственное месте, где передается Originator с 3CX - это Remote Party ID, судя по скриншоту покаета. Но версия 3CXа в описанном документе старая. Но я попробую поискать из Remote Party ID
 
Смотрите, есть инструкция по объединению 3CX и Asterisk. Я вам ее приводил на русском. Вот оригинал на английском https://www.3cx.com/docs/. Проверьте еще раз, как настроен транк на стороне Astеrisk. Внизу там дается образец пакета, как он должен выглядеть при захвате. Что-то больше этого мне, с сожалению, сложно подсказать. Мы тестировали ее на нескольких инсталляциях - проблем не было.
Решение
Код:
[10000]
exten => _X.,1,NoOP(${CALLERID(name)})                   ;Точка вызова
exten => _X.,n,Set(whoid=${SIP_HEADER(Remote-Party-ID)}) ; присваиваем переменной whoid значение rpid
exten => _X.,n,Set(whoid=${CUT(whoid,@,1)}) ; выдираем из whoid подстроку "<sip:7931XXXXXXX"
exten => _X.,n,Set(whoid=${CUT(whoid,:,2)}) ; выдираем сам номер
exten => _X.,n,Set(CALLERID(num)=${whoid}) ; Вставляем результат в номер)
exten => _X.,n,Dial(SIP/${EXTEN}) ; вызываем абонента
 

Для администраторов

Статистика форума

Темы
44.779
Сообщения
233.709
Пользователи
78.510
Новый пользователь
florianb
#