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

преобразование caller id

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

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

Ответить
s.vasilyev
Сообщения: 2
Зарегистрирован: 24 окт 2013, 17:02

преобразование caller id

Сообщение s.vasilyev »

Добрый день,

поставили задачу реализовать "дружбу" между астериском и телефонией светец. Проблема в том, что светец хранит своих пользователей как string, в итоге при звонке получаем такую вот херь:

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

[Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:1] Set("SIP/Svetets-00013e13", "AMPUSER=s.vas") in new stack
[Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:3] ExecIf("SIP/Svetets-00013e13", "1?Set(REALCALLERIDNUM=s.vas)") in new stack
[Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:19] Set("SIP/Svetets-00013e13", "CALLERID(number)=s.vas") in new stack
[Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:20] Set("SIP/Svetets-00013e13", "CALLERID(name)=s.vas") in new stack
[Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:21] NoOp("SIP/Svetets-00013e13", "Using CallerID "s.vas" <s.vas>") in new stack
[Oct 24 16:59:00] VERBOSE[16824] res_agi.c:  dialparties.agi: Caller ID name is 's.vas' number is 's.vas'
и при попытке перезвона естественно ошибка:

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

[Oct 24 17:05:06] NOTICE[12868] chan_sip.c: Call from '2140' (10.1.15.54:5062) to extension 's.vas' rejected because extension not found in context 'from-internal'.

Есть ли возможность преобразовать s.vas в номер? Я думал в custom-extensions прописать, что s.vas это 1300, астериск поймет это?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: преобразование caller id

Сообщение Vlad1983 »

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

[from-internal-custom]
exten => s.vas,1,Goto(from-internal,1300,1)
ЛС: @rostel
ded
Сообщения: 15627
Зарегистрирован: 26 авг 2010, 19:00

Re: преобразование caller id

Сообщение ded »

Насколько я понял - звонок идёт от SIP/Svetets в сторону SIP пользователя SIP/1300 который заведён в интерфейсе freePBX как внутренний абонент?

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

Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:19] Set("SIP/Svetets-00013e13", "CALLERID(number)=s.vas") in new stack
[Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:20] Set("SIP/Svetets-00013e13", "CALLERID(name)=s.vas") in new stack
Если да, то он заведён не правильно, ему бы номер присвоить, а имя в другом поле, и это не изменить, только удалить и заново создать, чтобы было
"s.vas" <1300>,.

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

Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:19] Set("SIP/Svetets-00013e13", "CALLERID(number)=1300") in new stack
[Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:20] Set("SIP/Svetets-00013e13", "CALLERID(name)=s.vas") in new stack
ибо dialparties.agi только вычитывает из базы параметры CALLERID(number)= и CALLERID(name)= и распихивает их в переменные.
s.vasilyev
Сообщения: 2
Зарегистрирован: 24 окт 2013, 17:02

Re: преобразование caller id

Сообщение s.vasilyev »

спасибо за ответы )

Вся проблема в том, что когда звонит другой сервер (светец) на мой астериск то он передает свой callerid как s.vas и так же на телефоне отображается, как s.vas. И при попытке перезвонить выходит такая ошибка. Мой астериск говорит мол хз кто это s.vas, а вот астериск передает свой callerid как надо и с другого сервера перезванивают с телефона без проблем.

Вот попробую в from-internal-custom прописать, как проверю отпишусь. Правда немного не удобный вариант, придется каждый номер который заведен на светеце прописывать туда.
ded
Сообщения: 15627
Зарегистрирован: 26 авг 2010, 19:00

Re: преобразование caller id

Сообщение ded »

Не верю! (с)
Попробуйте сделать приход из этого светца в NoOp(Caller ID is ${CALLERID(all)}) чтобы посмотреть что передаётся в полях CALLERID(number) и CALLERID(name), потому что приведённые строки

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

[Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:19] Set("SIP/Svetets-00013e13", "CALLERID(number)=s.vas") in new stack
[Oct 24 16:59:00] VERBOSE[16824] pbx.c:     -- Executing [s@macro-user-callerid:20] Set("SIP/Svetets-00013e13", "CALLERID(name)=s.vas") in new stack
уже перебивают принятые значения. Сдаётся мне у вас просто не то забито в вэб интерфейсе freePBX.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH