Страница 1 из 1

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

Добавлено: 24 окт 2013, 17:07
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, астериск поймет это?

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

Добавлено: 24 окт 2013, 17:42
Vlad1983

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

[from-internal-custom]
exten => s.vas,1,Goto(from-internal,1300,1)

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

Добавлено: 26 окт 2013, 04:36
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)= и распихивает их в переменные.

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

Добавлено: 28 окт 2013, 17:44
s.vasilyev
спасибо за ответы )

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

Вот попробую в from-internal-custom прописать, как проверю отпишусь. Правда немного не удобный вариант, придется каждый номер который заведен на светеце прописывать туда.

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

Добавлено: 28 окт 2013, 20:33
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.