Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

при переводе из очереди на дисплее asterisk вместо номера переводящего

0

Добрый день! Проблема такая: входящий звонок идет в ivr, где если нажать нужную цифру, звонок уходит в очередь соответствующего отдела! Там у первого принявшего телефона входящий номер определяется! Далее, если перевести звонок на другой добавочный, у того КОМУ переводят, вместо внутреннего номера того, КТО переводит, отображается asterisk! Как сделать чтобы при переводе из очереди передавался внутренний номер переводящего! Перевод используется - attended transfer (*2)...

Кусок плана, куда приходит входящий вызов:

exten => s,n,Background(/var/lib/asterisk/moh/voicemail/voicemenu)
exten => s,n,WaitExten(7)
exten => 2,1,Answer()
exten => 2,n,Queue(2000,tm) 
exten => 2,n,Hangup()
exten => 3,1,Answer()
exten => 3,n,Queue(3000,tm)  
exten => 3,n,Hangup()

Думается, что очереди надо вынести в отдельный контекст и там описать трансфер, но никак не пойму как реализовать!

удалить закрыть спам изменить тег редактировать

спросил 2014-09-05 09:34:29 +0400

brr Gravatar brr
1 1

обновил 2014-09-05 11:20:17 +0400

zzuz Gravatar zzuz flag of Russian Federation
6744 2 6 69
http://line24.ru/

Comments

Извините, что так, кармы нет для ответа! Все агенты имеют следующий вид:

[105]

deny=0.0.0.0/0.0.0.0

permit=192.168.0.1/24

type=friend

regexten=105

secret=105secret

dtmfmode=rfc2833

context=outcoling

host=dynamic

collerid=105<105>

disallow=all

allow=alaw

allow=ulaw

language=ru

callgroup=2

pickupgroup=2

qualify=yes

canreinvite=yes

call-limit=2

allowguest=no

nat=no

sendrpid=yes

Но при переводе из очереди, на дисплее того, КОМУ переводят красуется asterisk!!!

brr ( 2014-09-08 19:40:24 +0400 )редактировать

И какой CID(num) назначается ? и что такое collerid ?

zzuz ( 2014-09-08 21:13:31 +0400 )редактировать

Прошу прощения, с астериском знаком недолго! Что значит какой CID(num) назначается??? callerid прописан по мануалу из интернета! Здесь с ошибкой, вообще collerid такого вида - collerid=105<105>... У меня чистый астериск, без web-интерфейса, dial-план писался вручную!

brr ( 2014-09-09 19:29:26 +0400 )редактировать

звездочки не проходят... callerid=звездочка105звездочка<105>

brr ( 2014-09-09 19:31:09 +0400 )редактировать

Какие такие звездочки? не collerid , а callerid=num<name>

zzuz ( 2014-09-09 23:34:31 +0400 )редактировать

В общем в CLI видно следующее: со 112 внутреннего номера звонок попадает в очередь 4000

-- Executing [4@menu:2] Queue("SIP/112-00000382", "4000,tm") in new stack

-- Started music on hold, class 'default', on SIP/112-00000382

== Using SIP RTP CoS mark 5

-- SIP/125-00000383 is ringing

-- SIP/125-00000383 answered SIP/112-00000382

-- Stopped music on hold on SIP/112-00000382

   &gt; 0xb7540530 -- Probation passed - setting RTP source address to 192.168.0.138:19441

-- Started music on hold, class 'default', on SIP/112-00000382
brr ( 2014-09-10 20:34:10 +0400 )редактировать

Звонок принимает 125-й внутренний и переводит на 109-й, на дисплее которого вместо 125 отображается asterisk:

-- <SIP/125-00000383> Playing 'pbx-transfer.alaw' (language 'ru')

-- Executing [109@outcoling:1] Dial("Local/109@outcoling-0000004f;2", "SIP/109,,tT") in new stack

== Using SIP RTP CoS mark 5

-- Called SIP/109

-- SIP/109-00000384 is ringing

-- SIP/109-00000384 is ringing

-- Local/109@outcoling-0000004f;1 is ringing

-- SIP/109-00000384 answered Local/109@outcoling-0000004f;2

== Spawn extension (outcoling, 109, 1) exited non-zero on 'Local/109@outcoling-0000004f;2'

brr ( 2014-09-10 20:36:11 +0400 )редактировать

в CLI ничего не видно и ваши слова не подтверждает.

zzuz ( 2014-09-12 15:29:17 +0400 )редактировать

На одном из форумов нашел, применил, работает!

exten => _[1-2]XX,n,ExecIf($[ ${LEN(${BLINDTRANSFER})} > 0 ]?Set(TRANSFERUSER=${BLINDTRANSFER}) )

exten => _[1-2]XX,n,ExecIf($[ ${LEN(${TRANSFERERNAME})} > 0 ]?Set(TRANSFERUSER=${TRANSFERERNAME}) )

exten => _[1-2]XX,n,ExecIf($[ ${LEN(${TRANSFERUSER})} > 0 ]?Set(TRANSFERUSER=${CUT(TRANSFERUSER,-,1)}) )

exten => _[1-2]XX,n,ExecIf($[ ${LEN(${TRANSFERUSER})} > 0 ]?Set(TRANSFERUSER=${CUT(TRANSFERUSER,\/,2)}) )

exten => [1-2]XX,n,ExecIf($[ "foo${TRANSFERUSER}" = "foo" ]?Set(_CID=${CALLERID(number)}) )

exten => _[1-2]XX,n,ExecIf($[ ${LEN(${TRANSFERUSER})} > 0 ]?Set(CALLERID(number)=${CID}-${TRANSFERUSER}) )

exten => _[1-2]XX,n,ExecIf($[ "foo${TRANSFERUSER}" != "foo" ]?Set(CALLERID(name)= from:${TRANSFERUSER}) )

exten => _[1-2]XX,n,Dial(SIP/${EXTEN},,tT)

Спасибо за помощь!

brr ( 2014-09-13 22:08:23 +0400 )редактировать

1 Ответ

0

чтоб выводилься номер звонящего надо у всех агентов выставить

sendrpid=yes

чтоб выводился номер кто переводит, надо выставить callerid= у всех агентов.

ссылка удалить спам редактировать

ответил 2014-09-05 13:11:18 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2014-09-05 09:34:29 +0400

Просмотрен: 548 раз

Обновлен: Sep 05 '14

Похожие вопросы:

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.