Thread: [Asterisk-java-users] cdr events on live api
Brought to you by:
srt
From: Gabriel B. <elg...@gm...> - 2008-05-20 22:21:36
|
Hi list, I'm experimenting with the Live API and have a doubt. I suppose that when a Asterisk CDR event triggers the AsteriskChannel changes its "callDetailRecord" property, but I'm not receiving the property change event on my listener although I register it with the AsteriskChannel.addPropertyChangeListener() method. Do I have to change a configuration on my asterisk box or I miss understood this and Asterisk's CDR events have nothing to do? Thanks for your answers. Regards, |
From: Stefan R. <ste...@re...> - 2008-05-20 22:41:04
Attachments:
signature.asc
|
There is a setting in the Asterisk config to enable manage events for CDR. It's in cdr_manager.conf. =Stefan Gabriel Bermudez wrote: > Hi list, > > I'm experimenting with the Live API and have a doubt. I suppose that > when a Asterisk CDR event triggers the AsteriskChannel changes its > "callDetailRecord" property, but I'm not receiving the property change > event on my listener although I register it with the > AsteriskChannel.addPropertyChangeListener() method. > Do I have to change a configuration on my asterisk box or I miss > understood this and Asterisk's CDR events have nothing to do? > Thanks for your answers. -- reuter network consulting Neusser Str. 110 50760 Koeln Germany Telefon: +49 221 1305699-0 Telefax: +49 221 1305699-90 E-Mail: ste...@re... Jabber: ste...@re... WWW: http://www.reucon.com Steuernummern 215/5140/1791 USt-IdNr. DE220701760 |
From: Gabriel B. <elg...@gm...> - 2008-05-20 23:51:40
|
Thanks Stefan it worked out very good Stefan Reuter escribió: > There is a setting in the Asterisk config to enable manage events for > CDR. It's in cdr_manager.conf. > > =Stefan > > Gabriel Bermudez wrote: > >> Hi list, >> >> I'm experimenting with the Live API and have a doubt. I suppose that >> when a Asterisk CDR event triggers the AsteriskChannel changes its >> "callDetailRecord" property, but I'm not receiving the property change >> event on my listener although I register it with the >> AsteriskChannel.addPropertyChangeListener() method. >> Do I have to change a configuration on my asterisk box or I miss >> understood this and Asterisk's CDR events have nothing to do? >> Thanks for your answers. >> > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > ------------------------------------------------------------------------ > > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > |
From: Leonardo L. <leo...@gr...> - 2008-05-21 11:30:49
|
Dear All, How do i put a call in hold? I didn´t find any method in the Live/Manager API to realize that. Best regards, Leonardo Lira ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Asterisk-java-users mailing list Ast...@li... https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |
From: Martin S. <ma...@be...> - 2008-05-21 13:45:33
|
Hello, "Hold" can be many things -- send your user to a queue or park them with the appropriate action (or exec the action if we don't have it in A-J), or just "Thread.sleep(nnnn)" if you just want them to wait a bit. What are you using in extensions.conf for hold? :) Martin -----Original Message----- From: ast...@li... [mailto:ast...@li...] On Behalf Of Leonardo Lira Sent: Wednesday, May 21, 2008 7:29 AM To: ast...@li... Subject: [Asterisk-java-users] RES: cdr events on live api Dear All, How do i put a call in hold? I didn´t find any method in the Live/Manager API to realize that. Best regards, Leonardo Lira ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Asterisk-java-users mailing list Ast...@li... https://lists.sourceforge.net/lists/listinfo/asterisk-java-users ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Asterisk-java-users mailing list Ast...@li... https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |
From: Leonardo L. <leo...@gr...> - 2008-05-21 18:39:43
|
Hi Martin, Let me try to explain to you what i am expecting from the hold command Suppose the next scenary: - A is a call center employer - B is a customer receiving an incoming call from A - During the call, A decides to check some information about B and he tells B to wait for a while - In fact, what A does is to put the call in hold while he realize some action and B listens to some configured music - After that A retrieve the call and start talking to B again Put a call in a queue or in a park will turn off the A channel, what means that when A desires to retrieve the call his phone will ring again. Therefore, what i want to know is if there is some way to hold a call just like the soft-phones do (X-lite for example), like: putChannelOnHold(channel), retrieveChannel(channel) I search the entire Java-asterisk API and found nothing similar to that. Below is my extensions.conf Best regards ---------------------------------------------------------------------------- ------------------------------- ;! ;! Automatically generated configuration file ;! Filename: extensions.conf (/etc/asterisk/extensions.conf) ;! Generator: Manager ;! Creation Date: Fri May 16 03:51:37 2008 ;! [general] static = yes writeprotect = no autofallthrough = yes clearglobalvars = no priorityjumping = no [globals] trunk_1 = SIP/trunk_1 trunk_2 = SIP/trunk_2 trunk_2_cid = unknown trunk_1_cid = 090909 [dundi-e164-canonical] [dundi-e164-customers] [dundi-e164-via-pstn] [dundi-e164-local] include => dundi-e164-canonical include => dundi-e164-customers include => dundi-e164-via-pstn [dundi-e164-switch] switch => DUNDi/e164 [dundi-e164-lookup] include => dundi-e164-local include => dundi-e164-switch [macro-dundi-e164] exten => s,1,Goto(${ARG1},1) include => dundi-e164-lookup [iaxtel700] exten => _91700XXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel) [iaxprovider] [trunkint] exten => _9011.,1,Macro(dundi-e164,${EXTEN:4}) exten => _9011.,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) [trunkld] exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1}) exten => _91NXXNXXXXXX,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) [trunklocal] exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) [trunktollfree] exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) [international] ignorepat => 9 include => longdistance include => trunkint [longdistance] ignorepat => 9 include => local include => trunkld [local] ignorepat => 9 include => default include => parkedcalls include => trunklocal include => iaxtel700 include => trunktollfree include => iaxprovider [macro-stdexten] exten => s,1,Dial(${ARG2},20) exten => s,2,Goto(s-${DIALSTATUS},1) exten => s-NOANSWER,1,Voicemail(${ARG1},u) exten => s-NOANSWER,2,Goto(default,s,1) exten => s-BUSY,1,Voicemail(${ARG1},b) exten => s-BUSY,2,Goto(default,s,1) exten => _s-.,1,Goto(s-NOANSWER,1) exten => a,1,VoicemailMain(${ARG1}) [macro-stdPrivacyexten] exten => s,1,Dial(${ARG2},20|p) exten => s,2,Goto(s-${DIALSTATUS},1) exten => s-NOANSWER,1,Voicemail(u${ARG1}) exten => s-NOANSWER,2,Goto(default,s,1) exten => s-BUSY,1,Voicemail(b${ARG1}) exten => s-BUSY,2,Goto(default,s,1) exten => s-DONTCALL,1,Goto(${ARG3},s,1) exten => s-TORTURE,1,Goto(${ARG4},s,1) exten => _s-.,1,Goto(s-NOANSWER,1) exten => a,1,VoicemailMain(${ARG1}) [macro-page] exten => s,1,ChanIsAvail(${ARG1}|js) exten => s,n,GoToIf([${AVAILSTATUS} = "1"]?autoanswer:fail) exten => s,n(autoanswer),Set(_ALERT_INFO="RA") exten => s,n,SIPAddHeader(Call-Info: Answer-After=0) exten => s,n,NoOp() exten => s,n,Dial(${ARG1}||) exten => s,n(fail),Hangup [demo] exten => s,1,Wait(1) exten => s,n,Answer exten => s,n,Set(TIMEOUT(digit)=5) exten => s,n,Set(TIMEOUT(response)=10) exten => s,n(restart),BackGround(demo-congrats) exten => s,n(instruct),BackGround(demo-instruct) exten => s,n,WaitExten exten => 2,1,BackGround(demo-moreinfo) exten => 2,n,Goto(s,instruct) exten => 3,1,Set(LANGUAGE()=fr) exten => 3,n,Goto(s,restart) exten => 1000,1,Goto(default,s,1) exten => 1234,1,Playback(transfer,skip) exten => 1234,n,Macro(stdexten,1234,${CONSOLE}) exten => 1235,1,Voicemail(u1234) exten => 1236,1,Dial(Console/dsp) exten => 1236,n,Voicemail(u1234) exten => #,1,Playback(demo-thanks) exten => #,n,Hangup exten => t,1,Goto(#,1) exten => i,1,Playback(invalid) exten => 500,1,Playback(demo-abouttotry) exten => 500,n,Dial(IAX2/gu...@mi.../s@default) exten => 500,n,Playback(demo-nogo) exten => 500,n,Goto(s,6) exten => 600,1,Playback(demo-echotest) exten => 600,n,Echo exten => 600,n,Playback(demo-echodone) exten => 600,n,Goto(s,6) exten => 76245,1,Macro(page,SIP/Grandstream1) exten => _7XXX,1,Macro(page,SIP/${EXTEN}) exten => 7999,1,Set(TIMEOUT(absolute)=60) exten => 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n|d) exten => 8500,1,VoicemailMain exten => 8500,n,Goto(s,6) [page] exten => _X.,1,Macro(page,SIP/${EXTEN}) [voicemenu-custom-1] include = default comment = Welcome alias_exten = 7000 exten = s,1,Answer exten = s,2,Wait(1) exten = s,3,Background(thank-you-for-calling) exten = s,4,Background(if-u-know-ext-dial) exten = s,5,Background(otherwise) exten = s,6,Background(to-reach-operator) exten = s,7,Background(pls-hold-while-try) exten = s,8,WaitExten(6) exten = 0,1,Goto(default|6010|1) [numberplan-custom-1] plancomment = DialPlan1 include = default include = parkedcalls exten = _9011XXXXXXX!,1,Macro(trunkdial,${}/${EXTEN:1}) comment = _9011XXXXXXX!,1,International,standard exten = _911!,1,Macro(trunkdial,${}/${EXTEN:0}) comment = _911!,1,911,standard exten = _9256XXXXXXX!,1,Macro(trunkdial,${trunk_1}/${EXTEN:4},${trunk_1_cid}) comment = _9256XXXXXXX!,1,Local,standard exten = _91XXXXXXXXXX!,1,Macro(trunkdial,${trunk_1}/${EXTEN:1},${trunk_1_cid}) comment = _91XXXXXXXXXX!,1,Longdistance,standard exten = _91700XXXXXXX!,1,Macro(trunkdial,${trunk_1}/${EXTEN:1},${trunk_1_cid}) comment = _91700XXXXXXX!,1,IAXTEL,standard exten = _8!,1,Macro(trunkdial,${trunk_1}/${EXTEN:0},${trunk_1_cid}) comment = _8!,1,Oi,standard exten = _0XXXXXXX!,1,Macro(trunkdial,${trunk_1}/${EXTEN:1},${trunk_1_cid}) comment = _0XXXXXXX!,1,Local,standard exten = _0800XXXXXXXX!,1,Macro(trunkdial,${trunk_1}/${EXTEN:0},${trunk_1_cid}) comment = _0800XXXXXXXX!,1,0800,standard [macro-trunkdial] exten = s,1,set(CALLERID(all)=${IF($["${LEN(${CALLERID(num)})}" > "6"]?${CALLERID(all)}:${ARG2})}) exten = s,n,Dial(${ARG1}) exten = s,n,Goto(s-${DIALSTATUS},1) exten = s-NOANSWER,1,Hangup exten = s-BUSY,1,Hangup exten = _s-.,1,NoOp exten = s-BUSY,1,Hangup exten = _s-.,1,NoOp [asterisk_guitools] exten = executecommand,1,System(${command}) exten = executecommand,n,Hangup() exten = record_vmenu,1,Answer exten = record_vmenu,n,Playback(vm-intro) exten = record_vmenu,n,Record(${var1}) exten = record_vmenu,n,Playback(vm-saved) exten = record_vmenu,n,Playback(vm-goodbye) exten = record_vmenu,n,Hangup exten = play_file,1,Answer exten = play_file,n,Playback(${var1}) exten = play_file,n,Hangup [voicemenu-custom-2] comment = ura cobranca alias_exten = 9000 exten = s,1,Answer exten = s,2,Background(you-wish-to-join) [default] exten = 6050,1,VoiceMailMain exten = 7000,1,Goto(voicemenu-custom-1|s|1) exten = 8000,1,MeetMe(${EXTEN}|MsI) exten = 6000,1,Queue(${EXTEN}) exten = 9000,1,Goto(voicemenu-custom-2|s|1) exten = 6001,1,Queue(${EXTEN}) exten = 1300,1,Agi(agi://localhost/hello.agi) exten = 6100,1,Goto(ringroups-custom-1|s|1) exten = 3030,1,Answer exten = 3030,2,Playback(vm-intro) exten = 3030,3,Wait(3) exten = 3030,4,Hangup [ringroups-custom-1] gui_ring_groupname = discador exten = s,1,NoOp(RINGGROUP) exten = s,n,Dial(SIP/6012&SIP/6016&SIP/6013&SIP/6014&SIP/6015,20) exten = s,n,Hangup [DID_trunk_1] include = default include = default include = default exten = _X.,1,Goto(default|6010|1) exten = s,1,ExecIf($[ "${CALLERID(num)}"="" ],SetCallerPres,unavailable) exten = s,2,ExecIf($[ "${CALLERID(num)}"="" ],Set,CALLERID(all)=unknown <0000000>) exten = s,3,Goto(default|6010|1) [DID_trunk_1] [DID_trunk_1] [DID_trunk_2] include = default ---------------------------------------------------------------------------- ------------------------------- |
From: Gaëtan M. <gm...@ea...> - 2008-05-21 19:19:03
|
Hi, As far as I know, Asterisk doesn't allow one to park a call through ami or agi. Or at least I never found any "documented" way of doing this. However here is a simple workaround we use in our applications: we redirect the caller's leg (see ChannelImpl.redirect() in live api) to the park extension (see in features.conf), or any dialplan extension that calls the Park() application in fact. You will then receive a manager event telling at which parking position the caller can be retrieved (so later you just need to originate from the operator to that parking extension). Just match the channel name in your code. If you use the live api, you will receive a PCE on the PARKED_AT property of the parked channel iirc. NB: - The problem however is that the caller will hear the parking position (because the "function" in res_features.so is really written for internal use using inband feature codes, and as such expects a bridged channel). I think you could work around this if you set the channel's language variable to some unknown language (or an exiting language whose sound files are empty...). On my side I created a simple and trivial ParkSilent() asterisk application that I use instead of Park(), it's eventually easier. - This will probably completely screw your cdr records, as any transfer in asterisk :( Kind regards Geatan On 21/05/2008, at 20:38, Leonardo Lira wrote: > Hi Martin, > > Let me try to explain to you what i am expecting from the hold command > Suppose the next scenary: > - A is a call center employer > - B is a customer receiving an incoming call from A > - During the call, A decides to check some information about B and > he tells > B to wait for a while > - In fact, what A does is to put the call in hold while he realize > some > action and B listens to some configured music > - After that A retrieve the call and start talking to B again > > Put a call in a queue or in a park will turn off the A channel, what > means > that when A desires to retrieve the call his phone will ring again. > > Therefore, what i want to know is if there is some way to hold a > call just > like the soft-phones do (X-lite for example), like: > putChannelOnHold(channel), retrieveChannel(channel) > > I search the entire Java-asterisk API and found nothing similar to > that. > > Below is my extensions.conf > > Best regards > > ---------------------------------------------------------------------------- > ------------------------------- > ;! > ;! Automatically generated configuration file > ;! Filename: extensions.conf (/etc/asterisk/extensions.conf) > ;! Generator: Manager > ;! Creation Date: Fri May 16 03:51:37 2008 > ;! > [general] > static = yes > writeprotect = no > autofallthrough = yes > clearglobalvars = no > priorityjumping = no > > [globals] > trunk_1 = SIP/trunk_1 > trunk_2 = SIP/trunk_2 > trunk_2_cid = unknown > trunk_1_cid = 090909 > > [dundi-e164-canonical] > > [dundi-e164-customers] > > [dundi-e164-via-pstn] > > [dundi-e164-local] > include => dundi-e164-canonical > include => dundi-e164-customers > include => dundi-e164-via-pstn > > [dundi-e164-switch] > switch => DUNDi/e164 > > [dundi-e164-lookup] > include => dundi-e164-local > include => dundi-e164-switch > > [macro-dundi-e164] > exten => s,1,Goto(${ARG1},1) > include => dundi-e164-lookup > > [iaxtel700] > exten => _91700XXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN: > 1}@iaxtel) > > [iaxprovider] > > [trunkint] > exten => _9011.,1,Macro(dundi-e164,${EXTEN:4}) > exten => _9011.,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) > > [trunkld] > exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1}) > exten => _91NXXNXXXXXX,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) > > [trunklocal] > exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) > > [trunktollfree] > exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) > exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) > exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) > exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) > > [international] > ignorepat => 9 > include => longdistance > include => trunkint > > [longdistance] > ignorepat => 9 > include => local > include => trunkld > > [local] > ignorepat => 9 > include => default > include => parkedcalls > include => trunklocal > include => iaxtel700 > include => trunktollfree > include => iaxprovider > > [macro-stdexten] > exten => s,1,Dial(${ARG2},20) > exten => s,2,Goto(s-${DIALSTATUS},1) > exten => s-NOANSWER,1,Voicemail(${ARG1},u) > exten => s-NOANSWER,2,Goto(default,s,1) > exten => s-BUSY,1,Voicemail(${ARG1},b) > exten => s-BUSY,2,Goto(default,s,1) > exten => _s-.,1,Goto(s-NOANSWER,1) > exten => a,1,VoicemailMain(${ARG1}) > > [macro-stdPrivacyexten] > exten => s,1,Dial(${ARG2},20|p) > exten => s,2,Goto(s-${DIALSTATUS},1) > exten => s-NOANSWER,1,Voicemail(u${ARG1}) > exten => s-NOANSWER,2,Goto(default,s,1) > exten => s-BUSY,1,Voicemail(b${ARG1}) > exten => s-BUSY,2,Goto(default,s,1) > exten => s-DONTCALL,1,Goto(${ARG3},s,1) > exten => s-TORTURE,1,Goto(${ARG4},s,1) > exten => _s-.,1,Goto(s-NOANSWER,1) > exten => a,1,VoicemailMain(${ARG1}) > > [macro-page] > exten => s,1,ChanIsAvail(${ARG1}|js) > exten => s,n,GoToIf([${AVAILSTATUS} = "1"]?autoanswer:fail) > exten => s,n(autoanswer),Set(_ALERT_INFO="RA") > exten => s,n,SIPAddHeader(Call-Info: Answer-After=0) > exten => s,n,NoOp() > exten => s,n,Dial(${ARG1}||) > exten => s,n(fail),Hangup > > [demo] > exten => s,1,Wait(1) > exten => s,n,Answer > exten => s,n,Set(TIMEOUT(digit)=5) > exten => s,n,Set(TIMEOUT(response)=10) > exten => s,n(restart),BackGround(demo-congrats) > exten => s,n(instruct),BackGround(demo-instruct) > exten => s,n,WaitExten > exten => 2,1,BackGround(demo-moreinfo) > exten => 2,n,Goto(s,instruct) > exten => 3,1,Set(LANGUAGE()=fr) > exten => 3,n,Goto(s,restart) > exten => 1000,1,Goto(default,s,1) > exten => 1234,1,Playback(transfer,skip) > exten => 1234,n,Macro(stdexten,1234,${CONSOLE}) > exten => 1235,1,Voicemail(u1234) > exten => 1236,1,Dial(Console/dsp) > exten => 1236,n,Voicemail(u1234) > exten => #,1,Playback(demo-thanks) > exten => #,n,Hangup > exten => t,1,Goto(#,1) > exten => i,1,Playback(invalid) > exten => 500,1,Playback(demo-abouttotry) > exten => 500,n,Dial(IAX2/gu...@mi.../s@default) > exten => 500,n,Playback(demo-nogo) > exten => 500,n,Goto(s,6) > exten => 600,1,Playback(demo-echotest) > exten => 600,n,Echo > exten => 600,n,Playback(demo-echodone) > exten => 600,n,Goto(s,6) > exten => 76245,1,Macro(page,SIP/Grandstream1) > exten => _7XXX,1,Macro(page,SIP/${EXTEN}) > exten => 7999,1,Set(TIMEOUT(absolute)=60) > exten => > 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/ > 1234@page/n|d) > exten => 8500,1,VoicemailMain > exten => 8500,n,Goto(s,6) > > [page] > exten => _X.,1,Macro(page,SIP/${EXTEN}) > > [voicemenu-custom-1] > include = default > comment = Welcome > alias_exten = 7000 > exten = s,1,Answer > exten = s,2,Wait(1) > exten = s,3,Background(thank-you-for-calling) > exten = s,4,Background(if-u-know-ext-dial) > exten = s,5,Background(otherwise) > exten = s,6,Background(to-reach-operator) > exten = s,7,Background(pls-hold-while-try) > exten = s,8,WaitExten(6) > exten = 0,1,Goto(default|6010|1) > > [numberplan-custom-1] > plancomment = DialPlan1 > include = default > include = parkedcalls > exten = _9011XXXXXXX!,1,Macro(trunkdial,${}/${EXTEN:1}) > comment = _9011XXXXXXX!,1,International,standard > exten = _911!,1,Macro(trunkdial,${}/${EXTEN:0}) > comment = _911!,1,911,standard > exten = > _9256XXXXXXX!,1,Macro(trunkdial,${trunk_1}/${EXTEN:4},${trunk_1_cid}) > comment = _9256XXXXXXX!,1,Local,standard > exten = > _91XXXXXXXXXX!,1,Macro(trunkdial,${trunk_1}/${EXTEN:1},${trunk_1_cid}) > comment = _91XXXXXXXXXX!,1,Longdistance,standard > exten = > _91700XXXXXXX!,1,Macro(trunkdial,${trunk_1}/${EXTEN:1},${trunk_1_cid}) > comment = _91700XXXXXXX!,1,IAXTEL,standard > exten = _8!,1,Macro(trunkdial,${trunk_1}/${EXTEN:0},${trunk_1_cid}) > comment = _8!,1,Oi,standard > exten = _0XXXXXXX!,1,Macro(trunkdial,${trunk_1}/${EXTEN:1},$ > {trunk_1_cid}) > comment = _0XXXXXXX!,1,Local,standard > exten = > _0800XXXXXXXX!,1,Macro(trunkdial,${trunk_1}/${EXTEN:0},${trunk_1_cid}) > comment = _0800XXXXXXXX!,1,0800,standard > > [macro-trunkdial] > exten = s,1,set(CALLERID(all)=${IF($["${LEN(${CALLERID(num)})}" > > "6"]?${CALLERID(all)}:${ARG2})}) > exten = s,n,Dial(${ARG1}) > exten = s,n,Goto(s-${DIALSTATUS},1) > exten = s-NOANSWER,1,Hangup > exten = s-BUSY,1,Hangup > exten = _s-.,1,NoOp > exten = s-BUSY,1,Hangup > exten = _s-.,1,NoOp > > [asterisk_guitools] > exten = executecommand,1,System(${command}) > exten = executecommand,n,Hangup() > exten = record_vmenu,1,Answer > exten = record_vmenu,n,Playback(vm-intro) > exten = record_vmenu,n,Record(${var1}) > exten = record_vmenu,n,Playback(vm-saved) > exten = record_vmenu,n,Playback(vm-goodbye) > exten = record_vmenu,n,Hangup > exten = play_file,1,Answer > exten = play_file,n,Playback(${var1}) > exten = play_file,n,Hangup > > [voicemenu-custom-2] > comment = ura cobranca > alias_exten = 9000 > exten = s,1,Answer > exten = s,2,Background(you-wish-to-join) > > [default] > exten = 6050,1,VoiceMailMain > exten = 7000,1,Goto(voicemenu-custom-1|s|1) > exten = 8000,1,MeetMe(${EXTEN}|MsI) > exten = 6000,1,Queue(${EXTEN}) > exten = 9000,1,Goto(voicemenu-custom-2|s|1) > exten = 6001,1,Queue(${EXTEN}) > exten = 1300,1,Agi(agi://localhost/hello.agi) > exten = 6100,1,Goto(ringroups-custom-1|s|1) > exten = 3030,1,Answer > exten = 3030,2,Playback(vm-intro) > exten = 3030,3,Wait(3) > exten = 3030,4,Hangup > > [ringroups-custom-1] > gui_ring_groupname = discador > exten = s,1,NoOp(RINGGROUP) > exten = s,n,Dial(SIP/6012&SIP/6016&SIP/6013&SIP/6014&SIP/6015,20) > exten = s,n,Hangup > > [DID_trunk_1] > include = default > include = default > include = default > exten = _X.,1,Goto(default|6010|1) > exten = s,1,ExecIf($[ "$ > {CALLERID(num)}"="" ],SetCallerPres,unavailable) > exten = s,2,ExecIf($[ "$ > {CALLERID(num)}"="" ],Set,CALLERID(all)=unknown > <0000000>) > exten = s,3,Goto(default|6010|1) > > [DID_trunk_1] > > [DID_trunk_1] > > [DID_trunk_2] > include = default > ---------------------------------------------------------------------------- > ------------------------------- > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users |