ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Свое имя для ChannelID

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

Свое имя для ChannelID

Сообщение Axelru » 01 апр 2015, 12:51

Добрый день форумчане, я новичок в Астериске, поэтому сразу прошу прощения, если что-то называю не своим именем.

Есть два Астериска, с моей стороны FreePBX, с второй "голый". Соединены через IAX2, всё работает.
Появилась необходимость задавать своё имя канала, т.е. я звоню внутри своей FreePBX на внутренний номер, посылаю например, "SIP/1128", получаю ChannelID - "SIP/1128-15823", но когда звоню на номера второго Астериска через IAX-канал, посылаю "IAX2/iaxtrunk/1128", получаю ChannelID "IAX2/iaxtrunk-10584", а мне нужно, чтобы в ChannelID фигурировал номер, на который я звоню, например "IAX2/iaxtrunk/1128-10584" или же "IAX2/1128-10584". Никак не могу найти место, где он формируется.

Пришел к тому моменту, когда Гугл уже не помогает, подскажите, всё-таки как можно задать нужное мне имя в ChannelID, в какой файл посмотреть или как эта команда должна называться.
Axelru
 
Сообщений: 3
Зарегистрирован: 01 апр 2015, 12:19

Re: Свое имя для ChannelID

Сообщение ded » 01 апр 2015, 14:54

Вы посылаете "IAX2/iaxtrunk/1128" где и фигурирует номер, на который Вы звоните - 1128
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Свое имя для ChannelID

Сообщение Axelru » 01 апр 2015, 15:13

Код: выделить все
[2015-04-01 13:58:24] VERBOSE[18442] pbx.c: -- Executing [s@macro-dialout-trunk:22] Dial("SIP/1749-0000ac27", "IAX2/iaxtrunk/1128,300,tr") in new stack
[2015-04-01 13:58:24] VERBOSE[18442] app_dial.c: -- Called IAX2/iaxtrunk/1128
[2015-04-01 13:58:24] VERBOSE[3108] chan_iax2.c: -- Call accepted by ***.***.***.*** (format alaw)
[2015-04-01 13:58:24] VERBOSE[3108] chan_iax2.c: -- Format for call is alaw
[2015-04-01 13:58:25] VERBOSE[18442] app_dial.c: -- IAX2/iaxtrunk-19877 is ringing
[2015-04-01 13:58:28] VERBOSE[18442] app_dial.c: -- IAX2/iaxtrunk-19877 answered SIP/1749-0000ac27


Дозвон я, действительно, делаю на "IAX2/iaxtrunk/1128", но дальше я получаю название канала (насколько понимаю, именно это ChannelID) "IAX2/iaxtrunk-19877". Я хотел бы вместо "IAX2/iaxtrunk-19877" получить "IAX2/iaxtrunk/1128-19877", либо "IAX2/1128-19877", можно даже "IAX2/iaxtrunk-1128-19877", нужно просто чтобы именно в нем фигурировал номер. Не могу понять где именно он формирует эту строчку.
Axelru
 
Сообщений: 3
Зарегистрирован: 01 апр 2015, 12:19

Re: Свое имя для ChannelID

Сообщение ded » 01 апр 2015, 16:23

Сдаётся мне, что Вы пишете что-то особенное на своём програмном языке, и Вас очаровало понятие канала, в котором Вы хотите видеть всё-всё, включая паспортные данные позвонившего. Но это не так. Строка
Executing [s@macro-dialout-trunk:22] Dial("SIP/1749-0000ac27", "IAX2/iaxtrunk/1128,300,tr") показывает, кто звонит - SIP/1749 - абонент 1749 на первом Астериске, кому - IAX2/iaxtrunk/1128 - абоненту 1128 на втором Астериске. На языке переменных Астериска
${CHANNEL()} - это канал, а
${EXTEN} - номер куда позвонили. Вы же ищете черную кошку в темной комнате, что-то типа
${CHANNEL(${EXTEN})} но такого нет.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Свое имя для ChannelID

Сообщение Axelru » 01 апр 2015, 16:44

К сожалению, программа уже написана и без малого два года радует пользователей, в силу определенных особенностей этой программы, ей требуется номер в названии канала (этого вполне достаточно, и без паспорта) :).

Я даже ищу скорее что-то вроде CHANNEL=${CHANNEL}/${EXTEN}

Давайте перефразирую, никак не могу найти где

[2015-04-01 13:58:24] VERBOSE[18442] app_dial.c: -- Called IAX2/iaxtrunk/1128
"превращается" в
[2015-04-01 13:58:25] VERBOSE[18442] app_dial.c: -- IAX2/iaxtrunk-19877 is ringing
Axelru
 
Сообщений: 3
Зарегистрирован: 01 апр 2015, 12:19

Re: Свое имя для ChannelID

Сообщение ded » 01 апр 2015, 17:21

Нигде.
Астериск тоже уже написан, и в переменной канала после дефиса никак не номер назначения.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Свое имя для ChannelID

Сообщение virus_net » 02 апр 2015, 09:02

Либо вам придется менять особенности вашей программы, либо исходный код Asterisk`а.
Повлиять из диалплана на название канала вы точно не сможете.

Я вообще впервые читаю, что кому то требуется изменить название канала, да и не понимаю ЗАЧЕМ. Я тоже написал не мало под астериск, но не было ни разу необходимости менять название канала.
Если вам что-то нужно передать на ту сторону, то свяжите сервера по SIP и воспользуйтесь замечательной application SIPAddHeader и передавайте что угодно прям в SIP пакете.

Либо просвятите что ж именно делает ваша замечательная программа, радующая пользователей. Из-за каких именно особенностей вам это понадобилось, м.б. мы предложим вам альтернативный вариант.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Свое имя для ChannelID

Сообщение vvv93rus@gmail.com » 13 июн 2017, 17:04

Добрый день !
Ну вот на 100% аналогичная ситуация, хочу продолжить тему, что бы не плодить новые.

И да, ситуации действительно бывают. Есть Астериск и Аскозия, а так же всенемогущая и непрекрасная 1С. Так вот определяется там факт поступления звонка, и факт поднятия трубки (или не поднятия), перевод, завершение и т.д. И все хорошо работало, основано на панели МИКО (внешняя обработка 1С + NativAPI компонента). Подключили провайдеров внешних, красота !!! Пока не добавили второй номер у одного провайдера ))))

А оказывается, у Аскозии хитрый конфиг, с подменой каналов, да и большой. Генерируется он автоматически и менять его не хочется, хотя бы свести к самому минимуму изменения.

А менять то надо, ведь номер телефона 1С определяет по имени канала, вот пример: SIP/SIP-PROVIDER-134629886859315b39beb5b-0000013a

И на одном провайдере один номер все работает, как только два, определить на какой номер компании из десятков позвонил клиент иже не получается, имя канала всегда одинаково.

Решил я поменять номер канала, весь умный и радостный, делов то, а тут бац, и кончилась радость. Нельзя !!! Шо мне делать коллеги, выручите ? :)

Вот кусок конфига аскозии:
; multiple SIP Provider accounts found for host : vpbx400044403.mangosip.ru
[SIP-PROVIDER-vpbx400044403.mangosip.ru-incoming] <------------ вот это один провайдер
include => public-direct-dial
exten => askozia2,1,Goto(SIP-PROVIDER-134629886859315b39beb5b-incoming,s,1) <------------ и его номер 1
exten => user3,1,Goto(SIP-PROVIDER-175850798559131c27aceb6-incoming,s,1) <------------ и его номер 2

ну а далее контекст в контексте, длинная портянка, наверное в рамках этого вопроса она не нужна
vvv93rus@gmail.com
 
Сообщений: 3
Зарегистрирован: 13 июн 2017, 16:44

Re: Свое имя для ChannelID

Сообщение Vlad1983 » 14 июн 2017, 08:56

самая популярная ссылка на этом форуме Несколько учетных записей одного провайдера на Asterisk
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Свое имя для ChannelID

Сообщение virus_net » 15 июн 2017, 08:37

vvv93rus@gmail.com писал(а): ведь номер телефона 1С определяет по имени канала

И кто ж такое придумал ? Где об этом написано ?
vvv93rus@gmail.com писал(а): определить на какой номер компании из десятков позвонил клиент иже не получается

А зачем ? Это как-то используется в 1С ? Исходя из этого используется номер А и нет ничего про номер Б.

Цепляется эта штука через AMI, а значит, как крайний вариант, можно написать свою прокладку между AMI и 1С, в которой уже можно менять что угодно и на что угодно.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

След.

Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH