как-то можно перевести вызов, если в конткесте не задействован Dial(...,Tt) ? (без Dial Tt - отказывается работать)
это для примера.
конечная задача такая: звонит один пир другому, оба говорят "стартую". один переводит на диалплан 500, другой на 501, факсы между собой договариваются и пересылают документ.
Последний раз редактировалось vaskodegama 29 окт 2013, 11:27, всего редактировалось 1 раз.
*CLI> core show application Bridge
-= Info about application 'Bridge' =-
[Synopsis]
Bridge two channels.
[Description]
Allows the ability to bridge two channels via the dialplan.
This application sets the following channel variable upon completion:
${BRIDGERESULT}: The result of the bridge attempt as a text string.
SUCCESS
FAILURE
LOOP
NONEXISTENT
INCOMPATIBLE
[Syntax]
Bridge(channel[,options])
[Arguments]
channel
The current channel is bridged to the specified <channel>.
options
p: Play a courtesy tone to <channel>.
h: Allow the called party to hang up by sending the <*> DTMF digit.
H: Allow the calling party to hang up by pressing the <*> DTMF digit.
k: Allow the called party to enable parking of the call by sending
the DTMF sequence defined for call parking in "features.conf".
K: Allow the calling party to enable parking of the call by sending
the DTMF sequence defined for call parking in "features.conf".
L(x[:y][:z]): Limit the call to <x> ms. Play a warning when <y> ms
are left. Repeat the warning every <z> ms. The following special variables
can be used with this option:
${LIMIT_PLAYAUDIO_CALLER}: Play sounds to the caller. yes|no
(default yes)
${LIMIT_PLAYAUDIO_CALLEE}: Play sounds to the callee. yes|no
${LIMIT_TIMEOUT_FILE}: File to play when time is up.
${LIMIT_CONNECT_FILE}: File to play when call begins.
${LIMIT_WARNING_FILE}: File to play as warning if <y> is
defined. The default is to say the time remaining.
S(x): Hang up the call after <x> seconds *after* the called party
has answered the call.
t: Allow the called party to transfer the calling party by sending
the DTMF sequence defined in "features.conf".
T: Allow the calling party to transfer the called party by sending
the DTMF sequence defined in "features.conf".
w: Allow the called party to enable recording of the call by sending
the DTMF sequence defined for one-touch recording in "features.conf".
W: Allow the calling party to enable recording of the call by sending
the DTMF sequence defined for one-touch recording in "features.conf".
x: Cause the called party to be hung up after the bridge, instead
of being restarted in the dialplan.
если сигналы DTMF приходят в inband, то они идут по медиа каналу, и без опций Dial(..,Tt) астериск ничего о них знать не будет, ибо они замкнуты апямую через реинвайт. Вот если бы они посылали DTMF в сигнальном канале - как пакеты SIP INFO.
что-то я не понимаю. вот же с Read() общается нормально, а на features кладет.
-- Executing [500@factory:1] Verbose("SIP/400-0000002b", "Start extension!")
Start extension!
-- Executing [500@factory:2] AGI("SIP/400-0000002b", "/blabla.pl,"{\"action\":\"FaxReceive\"}"")
-- Launched AGI Script /blabla.pl
== Manager 'admin' logged on from 127.0.0.1
-- AGI Script Executing Application: (Read) Options: (NUMBER)
[Oct 29 15:27:17] DTMF[13657][C-0000001c]: channel.c:4170 __ast_read: DTMF begin '4' received on SIP/400-0000002b
[Oct 29 15:27:17] DTMF[13657][C-0000001c]: channel.c:4174 __ast_read: DTMF begin ignored '4' on SIP/400-0000002b
[Oct 29 15:27:17] DTMF[13657][C-0000001c]: channel.c:4084 __ast_read: DTMF end '4' received on SIP/400-0000002b, duration 100 ms
[Oct 29 15:27:17] DTMF[13657][C-0000001c]: channel.c:4154 __ast_read: DTMF end passthrough '4' on SIP/400-0000002b
[Oct 29 15:27:17] DTMF[13657][C-0000001c]: channel.c:4170 __ast_read: DTMF begin '5' received on SIP/400-0000002b
[Oct 29 15:27:17] DTMF[13657][C-0000001c]: channel.c:4174 __ast_read: DTMF begin ignored '5' on SIP/400-0000002b
[Oct 29 15:27:18] DTMF[13657][C-0000001c]: channel.c:4084 __ast_read: DTMF end '5' received on SIP/400-0000002b, duration 100 ms
[Oct 29 15:27:18] DTMF[13657][C-0000001c]: channel.c:4154 __ast_read: DTMF end passthrough '5' on SIP/400-0000002b
[Oct 29 15:27:18] DTMF[13657][C-0000001c]: channel.c:4170 __ast_read: DTMF begin '6' received on SIP/400-0000002b
[Oct 29 15:27:18] DTMF[13657][C-0000001c]: channel.c:4174 __ast_read: DTMF begin ignored '6' on SIP/400-0000002b
[Oct 29 15:27:18] DTMF[13657][C-0000001c]: channel.c:4084 __ast_read: DTMF end '6' received on SIP/400-0000002b, duration 100 ms
[Oct 29 15:27:18] DTMF[13657][C-0000001c]: channel.c:4154 __ast_read: DTMF end passthrough '6' on SIP/400-0000002b
[Oct 29 15:27:20] DTMF[13657][C-0000001c]: channel.c:4170 __ast_read: DTMF begin '#' received on SIP/400-0000002b
[Oct 29 15:27:20] DTMF[13657][C-0000001c]: channel.c:4174 __ast_read: DTMF begin ignored '#' on SIP/400-0000002b
[Oct 29 15:27:20] DTMF[13657][C-0000001c]: channel.c:4084 __ast_read: DTMF end '#' received on SIP/400-0000002b, duration 100 ms
[Oct 29 15:27:20] DTMF[13657][C-0000001c]: channel.c:4154 __ast_read: DTMF end passthrough '#' on SIP/400-0000002b
-- User entered '456'
/blabla.pl,"{\"action\":\"FaxReceive\"}": RECEIVE FAX FROM NUMBER 400
-- AGI Script Executing Application: (Answer) Options: ()
-- AGI Script Executing Application: (ReceiveFAX) Options: (/blabla/receive/20131029_152707_400.tif)
-- Channel 'SIP/400-0000002b' receiving FAX '/blabla/receive/20131029_152707_400.tif'
[Oct 29 15:27:25] DTMF[13657][C-0000001c]: channel.c:4170 __ast_read: DTMF begin '1' received on SIP/400-0000002b
[Oct 29 15:27:25] DTMF[13657][C-0000001c]: channel.c:4181 __ast_read: DTMF begin passthrough '1' on SIP/400-0000002b
[Oct 29 15:27:25] DTMF[13657][C-0000001c]: channel.c:4084 __ast_read: DTMF end '1' received on SIP/400-0000002b, duration 100 ms
[Oct 29 15:27:25] DTMF[13657][C-0000001c]: channel.c:4125 __ast_read: DTMF end accepted with begin '1' on SIP/400-0000002b
[Oct 29 15:27:25] DTMF[13657][C-0000001c]: channel.c:4154 __ast_read: DTMF end passthrough '1' on SIP/400-0000002b
[Oct 29 15:27:25] DTMF[13657][C-0000001c]: channel.c:4170 __ast_read: DTMF begin '2' received on SIP/400-0000002b
[Oct 29 15:27:25] DTMF[13657][C-0000001c]: channel.c:4181 __ast_read: DTMF begin passthrough '2' on SIP/400-0000002b
[Oct 29 15:27:25] DTMF[13657][C-0000001c]: channel.c:4084 __ast_read: DTMF end '2' received on SIP/400-0000002b, duration 100 ms
[Oct 29 15:27:25] DTMF[13657][C-0000001c]: channel.c:4125 __ast_read: DTMF end accepted with begin '2' on SIP/400-0000002b
[Oct 29 15:27:25] DTMF[13657][C-0000001c]: channel.c:4154 __ast_read: DTMF end passthrough '2' on SIP/400-0000002b
[Oct 29 15:27:26] DTMF[13657][C-0000001c]: channel.c:4170 __ast_read: DTMF begin '3' received on SIP/400-0000002b
[Oct 29 15:27:26] DTMF[13657][C-0000001c]: channel.c:4181 __ast_read: DTMF begin passthrough '3' on SIP/400-0000002b
[Oct 29 15:27:26] DTMF[13657][C-0000001c]: channel.c:4084 __ast_read: DTMF end '3' received on SIP/400-0000002b, duration 100 ms
[Oct 29 15:27:26] DTMF[13657][C-0000001c]: channel.c:4125 __ast_read: DTMF end accepted with begin '3' on SIP/400-0000002b
[Oct 29 15:27:26] DTMF[13657][C-0000001c]: channel.c:4154 __ast_read: DTMF end passthrough '3' on SIP/400-0000002b