diff --git a/bin/AST_VDhopper.pl b/bin/AST_VDhopper.pl index 1bd1c6de..d90a8cb6 100644 --- a/bin/AST_VDhopper.pl +++ b/bin/AST_VDhopper.pl @@ -436,7 +436,8 @@ foreach(@campaign_id) $o++; $STATUSsql[$i] .= "'$Dstatuses[$o]',"; } - chop($STATUSsql[$i]); + if (length($STATUSsql[$i])<3) {$STATUSsql[$i]="''";} + else {chop($STATUSsql[$i]);} $stmtA = "SELECT dialable_leads from vicidial_campaign_stats where campaign_id='$campaign_id[$i]';"; $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; diff --git a/bin/AST_VDhopper_MIXtest.pl b/bin/AST_VDhopper_MIXtest.pl index 6367a227..b1ef61c8 100644 --- a/bin/AST_VDhopper_MIXtest.pl +++ b/bin/AST_VDhopper_MIXtest.pl @@ -441,7 +441,8 @@ foreach(@campaign_id) $o++; $STATUSsql[$i] .= "'$Dstatuses[$o]',"; } - chop($STATUSsql[$i]); + if (length($STATUSsql[$i])<3) {$STATUSsql[$i]="''";} + else {chop($STATUSsql[$i]);} } $stmtA = "SELECT dialable_leads from vicidial_campaign_stats where campaign_id='$campaign_id[$i]';"; diff --git a/docs/BASE_INSTALL.txt b/docs/BASE_INSTALL.txt index becea2c5..34dc4fbf 100644 --- a/docs/BASE_INSTALL.txt +++ b/docs/BASE_INSTALL.txt @@ -471,6 +471,7 @@ insert into vicidial_statuses values('NEW','New Lead','N','N','UNDEFINED'); insert into vicidial_statuses values('QUEUE','Lead To Be Called','N','N','UNDEFINED'); insert into vicidial_statuses values('INCALL','Lead Being Called','N','N','UNDEFINED'); insert into vicidial_statuses values('DROP','Agent Not Available','N','Y','UNDEFINED'); +insert into vicidial_statuses values('XDROP','Agent Not Available IN','N','Y','UNDEFINED'); insert into vicidial_statuses values('NA','No Answer AutoDial','N','N','UNDEFINED'); insert into vicidial_statuses values('CALLBK','Call Back','Y','Y','UNDEFINED'); diff --git a/docs/QC_PROCESS.txt b/docs/QC_PROCESS.txt index b4a4d0e8..1ae28360 100644 --- a/docs/QC_PROCESS.txt +++ b/docs/QC_PROCESS.txt @@ -157,6 +157,8 @@ ALTER TABLE vicidial_log ADD qc_stage ENUM('NONE','LOCK_1','PASS','LOCK_2','FINI ALTER TABLE vicidial_closer_log ADD qc_stage ENUM('NONE','LOCK_1','PASS','LOCK_2','FINISH',COMMIT') default 'NONE'; +ALTER TABLE vicidial_campaigns ADD qc_webform_address VARCHAR(255); +ALTER TABLE vicidial_campaigns ADD qc_script VARCHAR(10); diff --git a/docs/SCRATCH_INSTALL.txt b/docs/SCRATCH_INSTALL.txt index 032c301e..38d8fb04 100644 --- a/docs/SCRATCH_INSTALL.txt +++ b/docs/SCRATCH_INSTALL.txt @@ -2971,6 +2971,7 @@ insert into vicidial_statuses values('NEW','New Lead','N','N','UNDEFINED'); insert into vicidial_statuses values('QUEUE','Lead To Be Called','N','N','UNDEFINED'); insert into vicidial_statuses values('INCALL','Lead Being Called','N','N','UNDEFINED'); insert into vicidial_statuses values('DROP','Agent Not Available','N','Y','UNDEFINED'); +insert into vicidial_statuses values('XDROP','Agent Not Available IN','N','Y','UNDEFINED'); insert into vicidial_statuses values('NA','No Answer AutoDial','N','N','UNDEFINED'); insert into vicidial_statuses values('CALLBK','Call Back','Y','Y','UNDEFINED'); diff --git a/docs/conf_examples/extensions.conf.sample b/docs/conf_examples/extensions.conf.sample index 1cb97ed6..06bc032d 100644 --- a/docs/conf_examples/extensions.conf.sample +++ b/docs/conf_examples/extensions.conf.sample @@ -10,180 +10,53 @@ TRUNKIAX=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface TRUNKIAX1=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface TRUNKBINFONE=IAX2/1112223333:PASSWORD@iax.binfone.com ; IAX trunk interface SIPtrunk=SIP/1234:PASSWORD@sip.provider.net ; SIP trunk -TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 -TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 +TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring +TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing [default] +; VICI-GROUP DIRECT SUPPORT LINE (VICIHELP[84244357]) +exten => _84244XXX,1,Dial(IAX2/vicihelp/${EXTEN:5}) + +; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! +exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) +exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +; Local blind monitoring +exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) + +; ### server 2 exten: +; exten => _010*010*010*016*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) + + ; Example phone extensions - -; Extension 2000 Sipura line 1 -exten => 2000,1,Dial,sip/spa2000|30|to ; Ring, 30 secs max +; Extension 2000 Sipura/Linksys ATA line 1 +exten => 2000,1,Dial(sip/spa2000,30,to) ; Ring, 30 secs max exten => 2000,2,Voicemail,u2000 ; Send to voicemail... -; Extension 2001 Sipura line 2 -exten => 2001,1,Dial,sip/spa2001|30|to ; Ring, 30 secs max +; Extension 2001 Sipura/Linksys ATA line 2 +exten => 2001,1,Dial(sip/spa2001,30,to) ; Ring, 30 secs max exten => 2001,2,Voicemail,u2001 ; Send to voicemail... -; Extension 2020 rings both sipura lines -exten => 2020,1,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 secs max -exten => 2020,2,Voicemail,u2000 ; Send to voicemail... -; Extension 301 rings the firefly softphone -exten => 401,1,Dial,(IAX2/firefly01@firefly01/s) +; Extension 2102 rings Grandstream phone +exten => 2102,1,Dial(sip/gs102,30,to) ; Ring, 30 secs max +exten => 2102,2,Voicemail,u2102 ; Send to voicemail... +; Extension 401 rings the firefly softphone +exten => 401,1,Dial((IAX2/firefly01@firefly01/s||t) exten => 401,2,Hangup -; extensions for other SIP and IAX call center phones -exten => 100,1,Dial,sip/cc100|20|to -exten => 101,1,Dial,sip/cc101|20|to -exten => 102,1,Dial,sip/cc102|20|to -exten => 103,1,Dial,sip/cc103|20|to -exten => 104,1,Dial,sip/cc104|20|to -exten => 105,1,Dial,sip/cc105|20|to -exten => 106,1,Dial,sip/cc106|20|to -exten => 107,1,Dial,sip/cc107|20|to -exten => 108,1,Dial,sip/cc108|20|to -exten => 109,1,Dial,sip/cc109|20|to -exten => 110,1,Dial,sip/cc110|20|to -exten => 111,1,Dial,sip/cc111|20|to -exten => 112,1,Dial,sip/cc112|20|to -exten => 113,1,Dial,sip/cc113|20|to -exten => 114,1,Dial,sip/cc114|20|to -exten => 115,1,Dial,sip/cc115|20|to -exten => 116,1,Dial,sip/cc116|20|to -exten => 117,1,Dial,sip/cc117|20|to -exten => 118,1,Dial,sip/cc118|20|to -exten => 119,1,Dial,sip/cc119|20|to -exten => 120,1,Dial,sip/cc120|20|to -exten => 121,1,Dial,sip/cc121|20|to -exten => 122,1,Dial,sip/cc122|20|to -exten => 123,1,Dial,sip/cc123|20|to -exten => 124,1,Dial,sip/cc124|20|to -exten => 125,1,Dial,sip/cc125|20|to -exten => 126,1,Dial,sip/cc126|20|to -exten => 127,1,Dial,sip/cc127|20|to -exten => 128,1,Dial,sip/cc128|20|to -exten => 129,1,Dial,sip/cc129|20|to -exten => 130,1,Dial,sip/cc130|20|to -exten => 131,1,Dial,sip/cc131|20|to -exten => 132,1,Dial,sip/cc132|20|to -exten => 133,1,Dial,sip/cc133|20|to -exten => 134,1,Dial,sip/cc134|20|to -exten => 135,1,Dial,sip/cc135|20|to -exten => 136,1,Dial,sip/cc136|20|to -exten => 137,1,Dial,sip/cc137|20|to -exten => 138,1,Dial,sip/cc138|20|to -exten => 139,1,Dial,sip/cc139|20|to -exten => 140,1,Dial,sip/cc140|20|to -exten => 141,1,Dial,sip/cc141|20|to -exten => 142,1,Dial,sip/cc142|20|to -exten => 143,1,Dial,sip/cc143|20|to -exten => 144,1,Dial,sip/cc144|20|to -exten => 145,1,Dial,sip/cc145|20|to -exten => 146,1,Dial,sip/cc146|20|to -exten => 147,1,Dial,sip/cc147|20|to -exten => 148,1,Dial,sip/cc148|20|to -exten => 149,1,Dial,sip/cc149|20|to -exten => 150,1,Dial,sip/cc150|20|to -exten => 300,1,Dial,IAX2/cc300|20|to -exten => 301,1,Dial,IAX2/cc301|20|to -exten => 302,1,Dial,IAX2/cc302|20|to -exten => 303,1,Dial,IAX2/cc303|20|to -exten => 304,1,Dial,IAX2/cc304|20|to -exten => 305,1,Dial,IAX2/cc305|20|to -exten => 306,1,Dial,IAX2/cc306|20|to -exten => 307,1,Dial,IAX2/cc307|20|to -exten => 308,1,Dial,IAX2/cc308|20|to -exten => 309,1,Dial,IAX2/cc309|20|to -exten => 310,1,Dial,IAX2/cc310|20|to -exten => 311,1,Dial,IAX2/cc311|20|to -exten => 312,1,Dial,IAX2/cc312|20|to -exten => 313,1,Dial,IAX2/cc313|20|to -exten => 314,1,Dial,IAX2/cc314|20|to -exten => 315,1,Dial,IAX2/cc315|20|to -exten => 316,1,Dial,IAX2/cc316|20|to -exten => 317,1,Dial,IAX2/cc317|20|to -exten => 318,1,Dial,IAX2/cc318|20|to -exten => 319,1,Dial,IAX2/cc319|20|to -exten => 320,1,Dial,IAX2/cc320|20|to -exten => 321,1,Dial,IAX2/cc321|20|to -exten => 322,1,Dial,IAX2/cc322|20|to -exten => 323,1,Dial,IAX2/cc323|20|to -exten => 324,1,Dial,IAX2/cc324|20|to -exten => 325,1,Dial,IAX2/cc325|20|to -exten => 326,1,Dial,IAX2/cc326|20|to -exten => 327,1,Dial,IAX2/cc327|20|to -exten => 328,1,Dial,IAX2/cc328|20|to -exten => 329,1,Dial,IAX2/cc329|20|to -exten => 330,1,Dial,IAX2/cc330|20|to -exten => 331,1,Dial,IAX2/cc331|20|to -exten => 332,1,Dial,IAX2/cc332|20|to -exten => 333,1,Dial,IAX2/cc333|20|to -exten => 334,1,Dial,IAX2/cc334|20|to -exten => 335,1,Dial,IAX2/cc335|20|to -exten => 336,1,Dial,IAX2/cc336|20|to -exten => 337,1,Dial,IAX2/cc337|20|to -exten => 338,1,Dial,IAX2/cc338|20|to -exten => 339,1,Dial,IAX2/cc339|20|to -exten => 340,1,Dial,IAX2/cc340|20|to -exten => 341,1,Dial,IAX2/cc341|20|to -exten => 342,1,Dial,IAX2/cc342|20|to -exten => 343,1,Dial,IAX2/cc343|20|to -exten => 344,1,Dial,IAX2/cc344|20|to -exten => 345,1,Dial,IAX2/cc345|20|to -exten => 346,1,Dial,IAX2/cc346|20|to -exten => 347,1,Dial,IAX2/cc347|20|to -exten => 348,1,Dial,IAX2/cc348|20|to -exten => 349,1,Dial,IAX2/cc349|20|to -exten => 350,1,Dial,IAX2/cc350|20|to +; extensions for other SIP and IAX call center phones +; cc100-cc150 SIP Phones +exten => _1[0-5]X,1,Dial(sip/cc${EXTEN},20,to) +; cc300-cc350 IAX Phones +exten => _3[0-5]X,1,Dial(IAX2/cc${EXTEN},20,to) ; extensions if using a T1 channelbank -exten => 1901,1,Dial,Zap/1|30|o -exten => 1901,2,Hangup -exten => 1902,1,Dial,Zap/2|30|o -exten => 1902,2,Hangup -exten => 1903,1,Dial,Zap/3|30|o -exten => 1903,2,Hangup -exten => 1904,1,Dial,Zap/4|30|o -exten => 1904,2,Hangup -exten => 1905,1,Dial,Zap/5|30|o -exten => 1905,2,Hangup -exten => 1906,1,Dial,Zap/6|30|o -exten => 1906,2,Hangup -exten => 1907,1,Dial,Zap/7|30|o -exten => 1907,2,Hangup -exten => 1908,1,Dial,Zap/8|30|o -exten => 1908,2,Hangup -exten => 1909,1,Dial,Zap/9|30|o -exten => 1909,2,Hangup -exten => 1910,1,Dial,Zap/10|30|o -exten => 1910,2,Hangup -exten => 1911,1,Dial,Zap/11|30|o -exten => 1911,2,Hangup -exten => 1912,1,Dial,Zap/12|30|o -exten => 1912,2,Hangup -exten => 1913,1,Dial,Zap/13|30|o -exten => 1913,2,Hangup -exten => 1914,1,Dial,Zap/14|30|o -exten => 1914,2,Hangup -exten => 1915,1,Dial,Zap/15|30|o -exten => 1915,2,Hangup -exten => 1916,1,Dial,Zap/16|30|o -exten => 1916,2,Hangup -exten => 1917,1,Dial,Zap/17|30|o -exten => 1917,2,Hangup -exten => 1918,1,Dial,Zap/18|30|o -exten => 1918,2,Hangup -exten => 1919,1,Dial,Zap/19|30|o -exten => 1919,2,Hangup -exten => 1920,1,Dial,Zap/20|30|o -exten => 1920,2,Hangup -exten => 1921,1,Dial,Zap/21|30|o -exten => 1921,2,Hangup -exten => 1922,1,Dial,Zap/22|30|o -exten => 1922,2,Hangup -exten => 1923,1,Dial,Zap/23|30|o -exten => 1923,2,Hangup -exten => 1924,1,Dial,Zap/24|30|o -exten => 1924,2,Hangup +exten => _19XX,1,Dial(Zap/${EXTEN:2},30,o) +exten => _19XX,2,Hangup + +; Extension 4001 rings Zap phone (this example for FXS on Zap port 1) +exten => 4001,1,Dial(Zap/1,30,o) ; ring Zap device 1 +exten => 4001,2,Voicemail,u4001 ; Send to voicemail... ; # timeout invalid rules @@ -207,11 +80,6 @@ exten => _55XXX,1,AgentLogin(${EXTEN:1}) ;Agent Login then stay onhook, phones will ring, DIAL 56 + 3-digit ID exten => _56XXX,1,AgentCallbackLogin(||${EXTEN:1}@default) -; Extension 4001 rings Zap phone (this example for FXS on Zap port 1) -exten => 4001,1,Dial,Zap/1|30| ; ring Zap device 1 -exten => 4001,2,Voicemail,u4001 ; Send to voicemail... - - ; FastAGI for VICIDIAL/astGUIclient call logging @@ -227,53 +95,53 @@ exten => 7275551212,1,Ringing exten => 7275551212,2,Wait(1) exten => 7275551212,3,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME}) exten => 7275551212,4,Answer -exten => 7275551212,5,Dial,sip/spa2000&sip/spa2001|30|to +exten => 7275551212,5,Dial(sip/spa2000&sip/spa2001,30,To) exten => 7275551212,6,Voicemail,u2000 ; dial a long distance outbound number to the UK ; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,tTo) +exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,To) exten => _901144XXXXXXXXXX,3,Hangup ; dial a long distance outbound number to Australia ; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) exten => _901161XXXXXXXXX,3,Hangup ; dial an 800 outbound number exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) exten => _91800NXXXXXX,3,Hangup exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) exten => _91888NXXXXXX,3,Hangup exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) exten => _91877NXXXXXX,3,Hangup exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) exten => _91866NXXXXXX,3,Hangup ; dial a local 727 outbound number with area code exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,tTo) +exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,To) exten => _9727NXXXXXX,3,Hangup ; dial a local 813 outbound number with area code exten => _9813NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9813NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _9813NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) exten => _9813NXXXXXX,3,Hangup ; dial a long distance outbound number -; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) exten => _91NXXNXXXXXX,3,Hangup ; dial a long distance outbound number through BINFONE ; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN},55,o) +; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN},55,To) ; exten => _91NXXNXXXXXX,3,Hangup ; dial a long distance outbound number through a SIP provider ; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) @@ -282,7 +150,7 @@ exten => _91NXXNXXXXXX,3,Hangup ; dial a local outbound number (modified because of only LD T1) exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,tTo) +exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,To) exten => _9NXXXXXX,3,Hangup ; parameters for call_inbound.agi (7 fields separated by five dashes "-----"): @@ -290,6 +158,7 @@ exten => _9NXXXXXX,3,Hangup ; 2. the phone number that was called, for the live_inbound/_log entry ; 3. a text description of the number that was called in ; 4-7. optional fields, they are also passed as fields in the GUI to web browser +; This is not part of VICIDIAL, it is for astGUIclient agent use only ; Extension 3429 - Inbound 800 number (1-800-555-3429) example of RBS T1 ; with 10 digit ANI and 4 digit DNIS star separated @@ -297,26 +166,16 @@ exten => _**3429,1,Ringing exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) exten => _**3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) exten => _**3429,4,Answer -exten => _**3429,5,Dial,sip/spa2000&sip/spa2001|30|to +exten => _**3429,5,Dial(sip/spa2000&sip/spa2001,30,to) exten => _**3429,6,Voicemail,u2000 ; Extension 3429 - with ANI [callerID] exten => _*NXXNXXXXXX*3429,1,Ringing exten => _*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log) exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) exten => _*NXXNXXXXXX*3429,4,Answer -exten => _*NXXNXXXXXX*3429,5,Dial,sip/spa2000&sip/spa2001|30|to +exten => _*NXXNXXXXXX*3429,5,Dial(sip/spa2000&sip/spa2001,30,to) exten => _*NXXNXXXXXX*3429,6,Voicemail,u2000 -; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! -exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) -exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) -exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) -; Local blind monitoring -exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,o) - -; ### server 2 exten: -; exten => _010*010*010*016*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) - ; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): ; 1. the method of call handling for the script: @@ -364,61 +223,8 @@ exten => 8159,1,ZapBarge exten => 8159,2,Hangup ; ZapBarge direct channel extensions -exten => 8612001,1,ZapBarge(1) -exten => 8612002,1,ZapBarge(2) -exten => 8612003,1,ZapBarge(3) -exten => 8612004,1,ZapBarge(4) -exten => 8612005,1,ZapBarge(5) -exten => 8612006,1,ZapBarge(6) -exten => 8612007,1,ZapBarge(7) -exten => 8612008,1,ZapBarge(8) -exten => 8612009,1,ZapBarge(9) -exten => 8612010,1,ZapBarge(10) -exten => 8612011,1,ZapBarge(11) -exten => 8612012,1,ZapBarge(12) -exten => 8612013,1,ZapBarge(13) -exten => 8612014,1,ZapBarge(14) -exten => 8612015,1,ZapBarge(15) -exten => 8612016,1,ZapBarge(16) -exten => 8612017,1,ZapBarge(17) -exten => 8612018,1,ZapBarge(18) -exten => 8612019,1,ZapBarge(19) -exten => 8612020,1,ZapBarge(20) -exten => 8612021,1,ZapBarge(21) -exten => 8612022,1,ZapBarge(22) -exten => 8612023,1,ZapBarge(23) -exten => 8612024,1,ZapBarge(24) +exten => _86120XX,1,ZapBarge(${EXTEN:5}) -; astGUIclient conferences -exten => 8600001,1,Meetme,8600001|q -exten => 8600002,1,Meetme,8600002|q -exten => 8600003,1,Meetme,8600003|q -exten => 8600004,1,Meetme,8600004|q -exten => 8600005,1,Meetme,8600005|q -exten => 8600006,1,Meetme,8600006|q -exten => 8600007,1,Meetme,8600007|q -exten => 8600008,1,Meetme,8600008|q -exten => 8600009,1,Meetme,8600009|q -exten => 8600010,1,Meetme,8600010|q -exten => 8600011,1,Meetme,8600011|q -exten => 8600012,1,Meetme,8600012|q -exten => 8600013,1,Meetme,8600013|q -exten => 8600014,1,Meetme,8600014|q -exten => 8600015,1,Meetme,8600015|q -exten => 8600016,1,Meetme,8600016|q -exten => 8600017,1,Meetme,8600017|q -exten => 8600018,1,Meetme,8600018|q -exten => 8600019,1,Meetme,8600019|q -exten => 8600020,1,Meetme,8600020|q -exten => 8600021,1,Meetme,8600021|q -exten => 8600022,1,Meetme,8600022|q -exten => 8600023,1,Meetme,8600023|q -exten => 8600024,1,Meetme,8600024|q -exten => 8600025,1,Meetme,8600025|q -exten => 8600026,1,Meetme,8600026|q -exten => 8600027,1,Meetme,8600027|q -exten => 8600028,1,Meetme,8600028|q -exten => 8600029,1,Meetme,8600029|q exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) exten => _X48600XXX,2,Hangup @@ -436,164 +242,18 @@ exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) exten => _55558600XXX,2,Hangup exten => 8300,1,Hangup +; astGUIclient conferences +exten => _86000[0-4]X,1,Meetme,${EXTEN}|q ; VICIDIAL conferences -exten => 8600051,1,Meetme,8600051 -exten => 8600052,1,Meetme,8600052 -exten => 8600053,1,Meetme,8600053 -exten => 8600054,1,Meetme,8600054 -exten => 8600055,1,Meetme,8600055 -exten => 8600056,1,Meetme,8600056 -exten => 8600057,1,Meetme,8600057 -exten => 8600058,1,Meetme,8600058 -exten => 8600059,1,Meetme,8600059 -exten => 8600060,1,Meetme,8600060 -exten => 8600061,1,Meetme,8600061 -exten => 8600062,1,Meetme,8600062 -exten => 8600063,1,Meetme,8600063 -exten => 8600064,1,Meetme,8600064 -exten => 8600065,1,Meetme,8600065 -exten => 8600066,1,Meetme,8600066 -exten => 8600067,1,Meetme,8600067 -exten => 8600068,1,Meetme,8600068 -exten => 8600069,1,Meetme,8600069 -exten => 8600070,1,Meetme,8600070 -exten => 8600071,1,Meetme,8600071 -exten => 8600072,1,Meetme,8600072 -exten => 8600073,1,Meetme,8600073 -exten => 8600074,1,Meetme,8600074 -exten => 8600075,1,Meetme,8600075 -exten => 8600076,1,Meetme,8600076 -exten => 8600077,1,Meetme,8600077 -exten => 8600078,1,Meetme,8600078 -exten => 8600079,1,Meetme,8600079 -exten => 8600080,1,Meetme,8600080 -exten => 8600081,1,Meetme,8600081 -exten => 8600082,1,Meetme,8600082 -exten => 8600083,1,Meetme,8600083 -exten => 8600084,1,Meetme,8600084 -exten => 8600085,1,Meetme,8600085 -exten => 8600086,1,Meetme,8600086 -exten => 8600087,1,Meetme,8600087 -exten => 8600088,1,Meetme,8600088 -exten => 8600089,1,Meetme,8600089 -exten => 8600090,1,Meetme,8600090 -exten => 8600091,1,Meetme,8600091 -exten => 8600092,1,Meetme,8600092 -exten => 8600093,1,Meetme,8600093 -exten => 8600094,1,Meetme,8600094 -exten => 8600095,1,Meetme,8600095 -exten => 8600096,1,Meetme,8600096 -exten => 8600097,1,Meetme,8600097 -exten => 8600098,1,Meetme,8600098 -exten => 8600099,1,Meetme,8600099 -exten => 8600100,1,Meetme,8600100 -exten => 8600101,1,Meetme,8600101 -exten => 8600102,1,Meetme,8600102 -exten => 8600103,1,Meetme,8600103 -exten => 8600104,1,Meetme,8600104 -exten => 8600105,1,Meetme,8600105 -exten => 8600106,1,Meetme,8600106 -exten => 8600107,1,Meetme,8600107 -exten => 8600108,1,Meetme,8600108 -exten => 8600109,1,Meetme,8600109 -exten => 8600110,1,Meetme,8600110 -exten => 8600111,1,Meetme,8600111 -exten => 8600112,1,Meetme,8600112 -exten => 8600113,1,Meetme,8600113 -exten => 8600114,1,Meetme,8600114 -exten => 8600115,1,Meetme,8600115 -exten => 8600116,1,Meetme,8600116 -exten => 8600117,1,Meetme,8600117 -exten => 8600118,1,Meetme,8600118 -exten => 8600119,1,Meetme,8600119 -exten => 8600120,1,Meetme,8600120 -exten => 8600121,1,Meetme,8600121 -exten => 8600122,1,Meetme,8600122 -exten => 8600123,1,Meetme,8600123 -exten => 8600124,1,Meetme,8600124 -exten => 8600125,1,Meetme,8600125 -exten => 8600126,1,Meetme,8600126 -exten => 8600127,1,Meetme,8600127 -exten => 8600128,1,Meetme,8600128 -exten => 8600129,1,Meetme,8600129 -exten => 8600130,1,Meetme,8600130 -exten => 8600131,1,Meetme,8600131 -exten => 8600132,1,Meetme,8600132 -exten => 8600133,1,Meetme,8600133 -exten => 8600134,1,Meetme,8600134 -exten => 8600135,1,Meetme,8600135 -exten => 8600136,1,Meetme,8600136 -exten => 8600137,1,Meetme,8600137 -exten => 8600138,1,Meetme,8600138 -exten => 8600139,1,Meetme,8600139 -exten => 8600140,1,Meetme,8600140 -exten => 8600141,1,Meetme,8600141 -exten => 8600142,1,Meetme,8600142 -exten => 8600143,1,Meetme,8600143 -exten => 8600144,1,Meetme,8600144 -exten => 8600145,1,Meetme,8600145 -exten => 8600146,1,Meetme,8600146 -exten => 8600147,1,Meetme,8600147 -exten => 8600148,1,Meetme,8600148 -exten => 8600149,1,Meetme,8600149 -exten => 8600150,1,Meetme,8600150 -exten => 8600151,1,Meetme,8600151 -exten => 8600152,1,Meetme,8600152 -exten => 8600153,1,Meetme,8600153 -exten => 8600154,1,Meetme,8600154 -exten => 8600155,1,Meetme,8600155 -exten => 8600156,1,Meetme,8600156 -exten => 8600157,1,Meetme,8600157 -exten => 8600158,1,Meetme,8600158 -exten => 8600159,1,Meetme,8600159 -exten => 8600160,1,Meetme,8600160 -exten => 8600161,1,Meetme,8600161 -exten => 8600162,1,Meetme,8600162 -exten => 8600163,1,Meetme,8600163 -exten => 8600164,1,Meetme,8600164 -exten => 8600165,1,Meetme,8600165 -exten => 8600166,1,Meetme,8600166 -exten => 8600167,1,Meetme,8600167 -exten => 8600168,1,Meetme,8600168 -exten => 8600169,1,Meetme,8600169 -exten => 8600170,1,Meetme,8600170 -exten => 8600171,1,Meetme,8600171 -exten => 8600172,1,Meetme,8600172 -exten => 8600173,1,Meetme,8600173 -exten => 8600174,1,Meetme,8600174 -exten => 8600175,1,Meetme,8600175 -exten => 8600176,1,Meetme,8600176 -exten => 8600177,1,Meetme,8600177 -exten => 8600178,1,Meetme,8600178 -exten => 8600179,1,Meetme,8600179 -exten => 8600180,1,Meetme,8600180 -exten => 8600181,1,Meetme,8600181 -exten => 8600182,1,Meetme,8600182 -exten => 8600183,1,Meetme,8600183 -exten => 8600184,1,Meetme,8600184 -exten => 8600185,1,Meetme,8600185 -exten => 8600186,1,Meetme,8600186 -exten => 8600187,1,Meetme,8600187 -exten => 8600188,1,Meetme,8600188 -exten => 8600189,1,Meetme,8600189 -exten => 8600190,1,Meetme,8600190 -exten => 8600191,1,Meetme,8600191 -exten => 8600192,1,Meetme,8600192 -exten => 8600193,1,Meetme,8600193 -exten => 8600194,1,Meetme,8600194 -exten => 8600195,1,Meetme,8600195 -exten => 8600196,1,Meetme,8600196 -exten => 8600197,1,Meetme,8600197 -exten => 8600198,1,Meetme,8600198 -exten => 8600199,1,Meetme,8600199 -exten => 8600200,1,Meetme,8600200 +exten => _86000[5-9]X,1,Meetme,${EXTEN}|F +exten => _86001XX,1,Meetme,${EXTEN}|F ; quiet entry and leaving conferences for VICIDIAL -exten => _78600XXX,1,Meetme,${EXTEN:1}|q +exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq ; quiet monitor extensions for meetme rooms (for room managers) -exten => _68600XXX,1,Meetme,${EXTEN:1}|mq +exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq ; voicelab exten -exten => _86009XX,1,Meetme,${EXTEN}|mq +exten => _86009XX,1,Meetme,${EXTEN}|Fmq ; voicelab exten moderator exten => _986009XX,1,Meetme,${EXTEN:1} @@ -631,6 +291,7 @@ exten => 8307,3,Hangup ; this is used for recording conference calls, the client app sends the filename ; value as a callerID recordings go to /var/spool/asterisk/monitor (WAV) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 exten => 8309,1,Answer exten => 8309,2,Monitor(wav,${CALLERIDNAME}) exten => 8309,3,Wait,3600 @@ -638,6 +299,7 @@ exten => 8309,4,Hangup ; this is used for recording conference calls, the client app sends the filename ; value as a callerID recordings go to /var/spool/asterisk/monitor (GSM) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 exten => 8310,1,Answer exten => 8310,2,Monitor(gsm,${CALLERIDNAME}) exten => 8310,3,Wait,3600 @@ -657,12 +319,12 @@ exten => 8352,3,Hangup ; prompts for recording AGI script, ID is 4321 ; first variable is format (gsm/wav) -; second variable is timeout in milliseconds (default is 360000 [6 minutes]) +; second variable is timeout in milliseconds (default is 720000 [12 minutes]) exten => 8167,1,Answer -exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000) +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----720000) exten => 8167,3,Hangup exten => 8168,1,Answer -exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000) +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----720000) exten => 8168,3,Hangup ; playback of recorded prompts diff --git a/docs/conf_examples/extensions.conf.sample-1.4 b/docs/conf_examples/extensions.conf.sample-1.4 index 1e584f66..0638f53e 100644 --- a/docs/conf_examples/extensions.conf.sample-1.4 +++ b/docs/conf_examples/extensions.conf.sample-1.4 @@ -10,179 +10,51 @@ TRUNKIAX=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface TRUNKIAX1=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface TRUNKBINFONE=IAX2/1112223333:PASSWORD@iax.binfone.com ; IAX trunk interface SIPtrunk=SIP/1234:PASSWORD@sip.provider.net ; SIP trunk -TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 -TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 +TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring +TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing [default] + +; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! +exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) +exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +; Local blind monitoring +exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) + +; ### server 2 exten: +; exten => _010*010*010*016*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) + + ; Example phone extensions -; Extension 2000 Sipura line 1 -exten => 2000,1,Dial,sip/spa2000|30|to ; Ring, 30 secs max +; Extension 2000 Sipura/Linksys ATA line 1 +exten => 2000,1,Dial(sip/spa2000,30,to) ; Ring, 30 secs max exten => 2000,2,Voicemail,u2000 ; Send to voicemail... -; Extension 2001 Sipura line 2 -exten => 2001,1,Dial,sip/spa2001|30|to ; Ring, 30 secs max +; Extension 2001 Sipura/Linksys ATA line 2 +exten => 2001,1,Dial(sip/spa2001,30,to) ; Ring, 30 secs max exten => 2001,2,Voicemail,u2001 ; Send to voicemail... -; Extension 2020 rings both sipura lines -exten => 2020,1,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 secs max -exten => 2020,2,Voicemail,u2000 ; Send to voicemail... -; Extension 301 rings the firefly softphone -exten => 401,1,Dial,(IAX2/firefly01@firefly01/s) +; Extension 2102 rings Grandstream phone +exten => 2102,1,Dial(sip/gs102,30,to) ; Ring, 30 secs max +exten => 2102,2,Voicemail,u2102 ; Send to voicemail... +; Extension 401 rings the firefly softphone +exten => 401,1,Dial((IAX2/firefly01@firefly01/s||t) exten => 401,2,Hangup -; extensions for other SIP and IAX call center phones -exten => 100,1,Dial,sip/cc100|20|to -exten => 101,1,Dial,sip/cc101|20|to -exten => 102,1,Dial,sip/cc102|20|to -exten => 103,1,Dial,sip/cc103|20|to -exten => 104,1,Dial,sip/cc104|20|to -exten => 105,1,Dial,sip/cc105|20|to -exten => 106,1,Dial,sip/cc106|20|to -exten => 107,1,Dial,sip/cc107|20|to -exten => 108,1,Dial,sip/cc108|20|to -exten => 109,1,Dial,sip/cc109|20|to -exten => 110,1,Dial,sip/cc110|20|to -exten => 111,1,Dial,sip/cc111|20|to -exten => 112,1,Dial,sip/cc112|20|to -exten => 113,1,Dial,sip/cc113|20|to -exten => 114,1,Dial,sip/cc114|20|to -exten => 115,1,Dial,sip/cc115|20|to -exten => 116,1,Dial,sip/cc116|20|to -exten => 117,1,Dial,sip/cc117|20|to -exten => 118,1,Dial,sip/cc118|20|to -exten => 119,1,Dial,sip/cc119|20|to -exten => 120,1,Dial,sip/cc120|20|to -exten => 121,1,Dial,sip/cc121|20|to -exten => 122,1,Dial,sip/cc122|20|to -exten => 123,1,Dial,sip/cc123|20|to -exten => 124,1,Dial,sip/cc124|20|to -exten => 125,1,Dial,sip/cc125|20|to -exten => 126,1,Dial,sip/cc126|20|to -exten => 127,1,Dial,sip/cc127|20|to -exten => 128,1,Dial,sip/cc128|20|to -exten => 129,1,Dial,sip/cc129|20|to -exten => 130,1,Dial,sip/cc130|20|to -exten => 131,1,Dial,sip/cc131|20|to -exten => 132,1,Dial,sip/cc132|20|to -exten => 133,1,Dial,sip/cc133|20|to -exten => 134,1,Dial,sip/cc134|20|to -exten => 135,1,Dial,sip/cc135|20|to -exten => 136,1,Dial,sip/cc136|20|to -exten => 137,1,Dial,sip/cc137|20|to -exten => 138,1,Dial,sip/cc138|20|to -exten => 139,1,Dial,sip/cc139|20|to -exten => 140,1,Dial,sip/cc140|20|to -exten => 141,1,Dial,sip/cc141|20|to -exten => 142,1,Dial,sip/cc142|20|to -exten => 143,1,Dial,sip/cc143|20|to -exten => 144,1,Dial,sip/cc144|20|to -exten => 145,1,Dial,sip/cc145|20|to -exten => 146,1,Dial,sip/cc146|20|to -exten => 147,1,Dial,sip/cc147|20|to -exten => 148,1,Dial,sip/cc148|20|to -exten => 149,1,Dial,sip/cc149|20|to -exten => 150,1,Dial,sip/cc150|20|to -exten => 300,1,Dial,IAX2/cc300|20|to -exten => 301,1,Dial,IAX2/cc301|20|to -exten => 302,1,Dial,IAX2/cc302|20|to -exten => 303,1,Dial,IAX2/cc303|20|to -exten => 304,1,Dial,IAX2/cc304|20|to -exten => 305,1,Dial,IAX2/cc305|20|to -exten => 306,1,Dial,IAX2/cc306|20|to -exten => 307,1,Dial,IAX2/cc307|20|to -exten => 308,1,Dial,IAX2/cc308|20|to -exten => 309,1,Dial,IAX2/cc309|20|to -exten => 310,1,Dial,IAX2/cc310|20|to -exten => 311,1,Dial,IAX2/cc311|20|to -exten => 312,1,Dial,IAX2/cc312|20|to -exten => 313,1,Dial,IAX2/cc313|20|to -exten => 314,1,Dial,IAX2/cc314|20|to -exten => 315,1,Dial,IAX2/cc315|20|to -exten => 316,1,Dial,IAX2/cc316|20|to -exten => 317,1,Dial,IAX2/cc317|20|to -exten => 318,1,Dial,IAX2/cc318|20|to -exten => 319,1,Dial,IAX2/cc319|20|to -exten => 320,1,Dial,IAX2/cc320|20|to -exten => 321,1,Dial,IAX2/cc321|20|to -exten => 322,1,Dial,IAX2/cc322|20|to -exten => 323,1,Dial,IAX2/cc323|20|to -exten => 324,1,Dial,IAX2/cc324|20|to -exten => 325,1,Dial,IAX2/cc325|20|to -exten => 326,1,Dial,IAX2/cc326|20|to -exten => 327,1,Dial,IAX2/cc327|20|to -exten => 328,1,Dial,IAX2/cc328|20|to -exten => 329,1,Dial,IAX2/cc329|20|to -exten => 330,1,Dial,IAX2/cc330|20|to -exten => 331,1,Dial,IAX2/cc331|20|to -exten => 332,1,Dial,IAX2/cc332|20|to -exten => 333,1,Dial,IAX2/cc333|20|to -exten => 334,1,Dial,IAX2/cc334|20|to -exten => 335,1,Dial,IAX2/cc335|20|to -exten => 336,1,Dial,IAX2/cc336|20|to -exten => 337,1,Dial,IAX2/cc337|20|to -exten => 338,1,Dial,IAX2/cc338|20|to -exten => 339,1,Dial,IAX2/cc339|20|to -exten => 340,1,Dial,IAX2/cc340|20|to -exten => 341,1,Dial,IAX2/cc341|20|to -exten => 342,1,Dial,IAX2/cc342|20|to -exten => 343,1,Dial,IAX2/cc343|20|to -exten => 344,1,Dial,IAX2/cc344|20|to -exten => 345,1,Dial,IAX2/cc345|20|to -exten => 346,1,Dial,IAX2/cc346|20|to -exten => 347,1,Dial,IAX2/cc347|20|to -exten => 348,1,Dial,IAX2/cc348|20|to -exten => 349,1,Dial,IAX2/cc349|20|to -exten => 350,1,Dial,IAX2/cc350|20|to +; extensions for other SIP and IAX call center phones +; cc100-cc150 SIP Phones +exten => _1[0-5]X,1,Dial(sip/cc${EXTEN},20,to) +; cc300-cc350 IAX Phones +exten => _3[0-5]X,1,Dial(IAX2/cc${EXTEN},20,to) ; extensions if using a T1 channelbank -exten => 1901,1,Dial,Zap/1|30|o -exten => 1901,2,Hangup -exten => 1902,1,Dial,Zap/2|30|o -exten => 1902,2,Hangup -exten => 1903,1,Dial,Zap/3|30|o -exten => 1903,2,Hangup -exten => 1904,1,Dial,Zap/4|30|o -exten => 1904,2,Hangup -exten => 1905,1,Dial,Zap/5|30|o -exten => 1905,2,Hangup -exten => 1906,1,Dial,Zap/6|30|o -exten => 1906,2,Hangup -exten => 1907,1,Dial,Zap/7|30|o -exten => 1907,2,Hangup -exten => 1908,1,Dial,Zap/8|30|o -exten => 1908,2,Hangup -exten => 1909,1,Dial,Zap/9|30|o -exten => 1909,2,Hangup -exten => 1910,1,Dial,Zap/10|30|o -exten => 1910,2,Hangup -exten => 1911,1,Dial,Zap/11|30|o -exten => 1911,2,Hangup -exten => 1912,1,Dial,Zap/12|30|o -exten => 1912,2,Hangup -exten => 1913,1,Dial,Zap/13|30|o -exten => 1913,2,Hangup -exten => 1914,1,Dial,Zap/14|30|o -exten => 1914,2,Hangup -exten => 1915,1,Dial,Zap/15|30|o -exten => 1915,2,Hangup -exten => 1916,1,Dial,Zap/16|30|o -exten => 1916,2,Hangup -exten => 1917,1,Dial,Zap/17|30|o -exten => 1917,2,Hangup -exten => 1918,1,Dial,Zap/18|30|o -exten => 1918,2,Hangup -exten => 1919,1,Dial,Zap/19|30|o -exten => 1919,2,Hangup -exten => 1920,1,Dial,Zap/20|30|o -exten => 1920,2,Hangup -exten => 1921,1,Dial,Zap/21|30|o -exten => 1921,2,Hangup -exten => 1922,1,Dial,Zap/22|30|o -exten => 1922,2,Hangup -exten => 1923,1,Dial,Zap/23|30|o -exten => 1923,2,Hangup -exten => 1924,1,Dial,Zap/24|30|o -exten => 1924,2,Hangup +exten => _19XX,1,Dial(Zap/${EXTEN:2},30,o) +exten => _19XX,2,Hangup + +; Extension 4001 rings Zap phone (this example for FXS on Zap port 1) +exten => 4001,1,Dial(Zap/1,30,o) ; ring Zap device 1 +exten => 4001,2,Voicemail,u4001 ; Send to voicemail... ; # timeout invalid rules @@ -206,11 +78,6 @@ exten => _55XXX,1,AgentLogin(${EXTEN:1}) ;Agent Login then stay onhook, phones will ring, DIAL 56 + 3-digit ID exten => _56XXX,1,AgentCallbackLogin(||${EXTEN:1}@default) -; Extension 4001 rings Zap phone (this example for FXS on Zap port 1) -exten => 4001,1,Dial,Zap/1|30| ; ring Zap device 1 -exten => 4001,2,Voicemail,u4001 ; Send to voicemail... - - ; FastAGI for VICIDIAL/astGUIclient call logging @@ -226,53 +93,53 @@ exten => 7275551212,1,Ringing exten => 7275551212,2,Wait(1) exten => 7275551212,3,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----{CALLERID(all)}-----${CALLERID(num)}-----${CALLERID(name)}) exten => 7275551212,4,Answer -exten => 7275551212,5,Dial,sip/spa2000&sip/spa2001|30|to +exten => 7275551212,5,Dial(sip/spa2000&sip/spa2001,30,To) exten => 7275551212,6,Voicemail,u2000 ; dial a long distance outbound number to the UK ; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,tTo) +exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,To) exten => _901144XXXXXXXXXX,3,Hangup ; dial a long distance outbound number to Australia ; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) exten => _901161XXXXXXXXX,3,Hangup ; dial an 800 outbound number exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) exten => _91800NXXXXXX,3,Hangup exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) exten => _91888NXXXXXX,3,Hangup exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) exten => _91877NXXXXXX,3,Hangup exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) exten => _91866NXXXXXX,3,Hangup ; dial a local 727 outbound number with area code exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,tTo) +exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,To) exten => _9727NXXXXXX,3,Hangup ; dial a local 813 outbound number with area code exten => _9813NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9813NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _9813NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) exten => _9813NXXXXXX,3,Hangup ; dial a long distance outbound number -; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) exten => _91NXXNXXXXXX,3,Hangup ; dial a long distance outbound number through BINFONE ; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN},55,o) +; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN},55,To) ; exten => _91NXXNXXXXXX,3,Hangup ; dial a long distance outbound number through a SIP provider ; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) @@ -281,7 +148,7 @@ exten => _91NXXNXXXXXX,3,Hangup ; dial a local outbound number (modified because of only LD T1) exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,tTo) +exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,To) exten => _9NXXXXXX,3,Hangup ; parameters for call_inbound.agi (7 fields separated by five dashes "-----"): @@ -289,6 +156,7 @@ exten => _9NXXXXXX,3,Hangup ; 2. the phone number that was called, for the live_inbound/_log entry ; 3. a text description of the number that was called in ; 4-7. optional fields, they are also passed as fields in the GUI to web browser +; This is not part of VICIDIAL, it is for astGUIclient agent use only ; Extension 3429 - Inbound 800 number (1-800-555-3429) example of RBS T1 ; with 10 digit ANI and 4 digit DNIS star separated @@ -296,26 +164,16 @@ exten => _**3429,1,Ringing exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) exten => _**3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) exten => _**3429,4,Answer -exten => _**3429,5,Dial,sip/spa2000&sip/spa2001|30|to +exten => _**3429,5,Dial(sip/spa2000&sip/spa2001,30,to) exten => _**3429,6,Voicemail,u2000 ; Extension 3429 - with ANI [callerID] exten => _*NXXNXXXXXX*3429,1,Ringing exten => _*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log) exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) exten => _*NXXNXXXXXX*3429,4,Answer -exten => _*NXXNXXXXXX*3429,5,Dial,sip/spa2000&sip/spa2001|30|to +exten => _*NXXNXXXXXX*3429,5,Dial(sip/spa2000&sip/spa2001,30,to) exten => _*NXXNXXXXXX*3429,6,Voicemail,u2000 -; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! -exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) -exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) -exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) -; Local blind monitoring -exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,o) - -; ### server 2 exten: -; exten => _010*010*010*016*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) - ; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): ; 1. the method of call handling for the script: @@ -357,66 +215,14 @@ exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-- exten => _990009.,3,Hangup + ; barge monitoring extension exten => 8159,1,ZapBarge exten => 8159,2,Hangup ; ZapBarge direct channel extensions -exten => 8612001,1,ZapBarge(1) -exten => 8612002,1,ZapBarge(2) -exten => 8612003,1,ZapBarge(3) -exten => 8612004,1,ZapBarge(4) -exten => 8612005,1,ZapBarge(5) -exten => 8612006,1,ZapBarge(6) -exten => 8612007,1,ZapBarge(7) -exten => 8612008,1,ZapBarge(8) -exten => 8612009,1,ZapBarge(9) -exten => 8612010,1,ZapBarge(10) -exten => 8612011,1,ZapBarge(11) -exten => 8612012,1,ZapBarge(12) -exten => 8612013,1,ZapBarge(13) -exten => 8612014,1,ZapBarge(14) -exten => 8612015,1,ZapBarge(15) -exten => 8612016,1,ZapBarge(16) -exten => 8612017,1,ZapBarge(17) -exten => 8612018,1,ZapBarge(18) -exten => 8612019,1,ZapBarge(19) -exten => 8612020,1,ZapBarge(20) -exten => 8612021,1,ZapBarge(21) -exten => 8612022,1,ZapBarge(22) -exten => 8612023,1,ZapBarge(23) -exten => 8612024,1,ZapBarge(24) +exten => _86120XX,1,ZapBarge(${EXTEN:5}) -; astGUIclient conferences -exten => 8600001,1,Meetme,8600001|qF -exten => 8600002,1,Meetme,8600002|qF -exten => 8600003,1,Meetme,8600003|qF -exten => 8600004,1,Meetme,8600004|qF -exten => 8600005,1,Meetme,8600005|qF -exten => 8600006,1,Meetme,8600006|qF -exten => 8600007,1,Meetme,8600007|qF -exten => 8600008,1,Meetme,8600008|qF -exten => 8600009,1,Meetme,8600009|qF -exten => 8600010,1,Meetme,8600010|qF -exten => 8600011,1,Meetme,8600011|qF -exten => 8600012,1,Meetme,8600012|qF -exten => 8600013,1,Meetme,8600013|qF -exten => 8600014,1,Meetme,8600014|qF -exten => 8600015,1,Meetme,8600015|qF -exten => 8600016,1,Meetme,8600016|qF -exten => 8600017,1,Meetme,8600017|qF -exten => 8600018,1,Meetme,8600018|qF -exten => 8600019,1,Meetme,8600019|qF -exten => 8600020,1,Meetme,8600020|qF -exten => 8600021,1,Meetme,8600021|qF -exten => 8600022,1,Meetme,8600022|qF -exten => 8600023,1,Meetme,8600023|qF -exten => 8600024,1,Meetme,8600024|qF -exten => 8600025,1,Meetme,8600025|qF -exten => 8600026,1,Meetme,8600026|qF -exten => 8600027,1,Meetme,8600027|qF -exten => 8600028,1,Meetme,8600028|qF -exten => 8600029,1,Meetme,8600029|qF exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) exten => _X48600XXX,2,Hangup @@ -434,164 +240,18 @@ exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) exten => _55558600XXX,2,Hangup exten => 8300,1,Hangup +; astGUIclient conferences +exten => _86000[0-4]X,1,Meetme,${EXTEN}|q ; VICIDIAL conferences -exten => 8600051,1,Meetme,8600051|F -exten => 8600052,1,Meetme,8600052|F -exten => 8600053,1,Meetme,8600053|F -exten => 8600054,1,Meetme,8600054|F -exten => 8600055,1,Meetme,8600055|F -exten => 8600056,1,Meetme,8600056|F -exten => 8600057,1,Meetme,8600057|F -exten => 8600058,1,Meetme,8600058|F -exten => 8600059,1,Meetme,8600059|F -exten => 8600060,1,Meetme,8600060|F -exten => 8600061,1,Meetme,8600061|F -exten => 8600062,1,Meetme,8600062|F -exten => 8600063,1,Meetme,8600063|F -exten => 8600064,1,Meetme,8600064|F -exten => 8600065,1,Meetme,8600065|F -exten => 8600066,1,Meetme,8600066|F -exten => 8600067,1,Meetme,8600067|F -exten => 8600068,1,Meetme,8600068|F -exten => 8600069,1,Meetme,8600069|F -exten => 8600070,1,Meetme,8600070|F -exten => 8600071,1,Meetme,8600071|F -exten => 8600072,1,Meetme,8600072|F -exten => 8600073,1,Meetme,8600073|F -exten => 8600074,1,Meetme,8600074|F -exten => 8600075,1,Meetme,8600075|F -exten => 8600076,1,Meetme,8600076|F -exten => 8600077,1,Meetme,8600077|F -exten => 8600078,1,Meetme,8600078|F -exten => 8600079,1,Meetme,8600079|F -exten => 8600080,1,Meetme,8600080|F -exten => 8600081,1,Meetme,8600081|F -exten => 8600082,1,Meetme,8600082|F -exten => 8600083,1,Meetme,8600083|F -exten => 8600084,1,Meetme,8600084|F -exten => 8600085,1,Meetme,8600085|F -exten => 8600086,1,Meetme,8600086|F -exten => 8600087,1,Meetme,8600087|F -exten => 8600088,1,Meetme,8600088|F -exten => 8600089,1,Meetme,8600089|F -exten => 8600090,1,Meetme,8600090|F -exten => 8600091,1,Meetme,8600091|F -exten => 8600092,1,Meetme,8600092|F -exten => 8600093,1,Meetme,8600093|F -exten => 8600094,1,Meetme,8600094|F -exten => 8600095,1,Meetme,8600095|F -exten => 8600096,1,Meetme,8600096|F -exten => 8600097,1,Meetme,8600097|F -exten => 8600098,1,Meetme,8600098|F -exten => 8600099,1,Meetme,8600099|F -exten => 8600100,1,Meetme,8600100|F -exten => 8600101,1,Meetme,8600101|F -exten => 8600102,1,Meetme,8600102|F -exten => 8600103,1,Meetme,8600103|F -exten => 8600104,1,Meetme,8600104|F -exten => 8600105,1,Meetme,8600105|F -exten => 8600106,1,Meetme,8600106|F -exten => 8600107,1,Meetme,8600107|F -exten => 8600108,1,Meetme,8600108|F -exten => 8600109,1,Meetme,8600109|F -exten => 8600110,1,Meetme,8600110|F -exten => 8600111,1,Meetme,8600111|F -exten => 8600112,1,Meetme,8600112|F -exten => 8600113,1,Meetme,8600113|F -exten => 8600114,1,Meetme,8600114|F -exten => 8600115,1,Meetme,8600115|F -exten => 8600116,1,Meetme,8600116|F -exten => 8600117,1,Meetme,8600117|F -exten => 8600118,1,Meetme,8600118|F -exten => 8600119,1,Meetme,8600119|F -exten => 8600120,1,Meetme,8600120|F -exten => 8600121,1,Meetme,8600121|F -exten => 8600122,1,Meetme,8600122|F -exten => 8600123,1,Meetme,8600123|F -exten => 8600124,1,Meetme,8600124|F -exten => 8600125,1,Meetme,8600125|F -exten => 8600126,1,Meetme,8600126|F -exten => 8600127,1,Meetme,8600127|F -exten => 8600128,1,Meetme,8600128|F -exten => 8600129,1,Meetme,8600129|F -exten => 8600130,1,Meetme,8600130|F -exten => 8600131,1,Meetme,8600131|F -exten => 8600132,1,Meetme,8600132|F -exten => 8600133,1,Meetme,8600133|F -exten => 8600134,1,Meetme,8600134|F -exten => 8600135,1,Meetme,8600135|F -exten => 8600136,1,Meetme,8600136|F -exten => 8600137,1,Meetme,8600137|F -exten => 8600138,1,Meetme,8600138|F -exten => 8600139,1,Meetme,8600139|F -exten => 8600140,1,Meetme,8600140|F -exten => 8600141,1,Meetme,8600141|F -exten => 8600142,1,Meetme,8600142|F -exten => 8600143,1,Meetme,8600143|F -exten => 8600144,1,Meetme,8600144|F -exten => 8600145,1,Meetme,8600145|F -exten => 8600146,1,Meetme,8600146|F -exten => 8600147,1,Meetme,8600147|F -exten => 8600148,1,Meetme,8600148|F -exten => 8600149,1,Meetme,8600149|F -exten => 8600150,1,Meetme,8600150|F -exten => 8600151,1,Meetme,8600151|F -exten => 8600152,1,Meetme,8600152|F -exten => 8600153,1,Meetme,8600153|F -exten => 8600154,1,Meetme,8600154|F -exten => 8600155,1,Meetme,8600155|F -exten => 8600156,1,Meetme,8600156|F -exten => 8600157,1,Meetme,8600157|F -exten => 8600158,1,Meetme,8600158|F -exten => 8600159,1,Meetme,8600159|F -exten => 8600160,1,Meetme,8600160|F -exten => 8600161,1,Meetme,8600161|F -exten => 8600162,1,Meetme,8600162|F -exten => 8600163,1,Meetme,8600163|F -exten => 8600164,1,Meetme,8600164|F -exten => 8600165,1,Meetme,8600165|F -exten => 8600166,1,Meetme,8600166|F -exten => 8600167,1,Meetme,8600167|F -exten => 8600168,1,Meetme,8600168|F -exten => 8600169,1,Meetme,8600169|F -exten => 8600170,1,Meetme,8600170|F -exten => 8600171,1,Meetme,8600171|F -exten => 8600172,1,Meetme,8600172|F -exten => 8600173,1,Meetme,8600173|F -exten => 8600174,1,Meetme,8600174|F -exten => 8600175,1,Meetme,8600175|F -exten => 8600176,1,Meetme,8600176|F -exten => 8600177,1,Meetme,8600177|F -exten => 8600178,1,Meetme,8600178|F -exten => 8600179,1,Meetme,8600179|F -exten => 8600180,1,Meetme,8600180|F -exten => 8600181,1,Meetme,8600181|F -exten => 8600182,1,Meetme,8600182|F -exten => 8600183,1,Meetme,8600183|F -exten => 8600184,1,Meetme,8600184|F -exten => 8600185,1,Meetme,8600185|F -exten => 8600186,1,Meetme,8600186|F -exten => 8600187,1,Meetme,8600187|F -exten => 8600188,1,Meetme,8600188|F -exten => 8600189,1,Meetme,8600189|F -exten => 8600190,1,Meetme,8600190|F -exten => 8600191,1,Meetme,8600191|F -exten => 8600192,1,Meetme,8600192|F -exten => 8600193,1,Meetme,8600193|F -exten => 8600194,1,Meetme,8600194|F -exten => 8600195,1,Meetme,8600195|F -exten => 8600196,1,Meetme,8600196|F -exten => 8600197,1,Meetme,8600197|F -exten => 8600198,1,Meetme,8600198|F -exten => 8600199,1,Meetme,8600199|F -exten => 8600200,1,Meetme,8600200|F +exten => _86000[5-9]X,1,Meetme,${EXTEN}|F +exten => _86001XX,1,Meetme,${EXTEN}|F ; quiet entry and leaving conferences for VICIDIAL -exten => _78600XXX,1,Meetme,${EXTEN:1}|qF +exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq ; quiet monitor extensions for meetme rooms (for room managers) -exten => _68600XXX,1,Meetme,${EXTEN:1}|mq +exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq ; voicelab exten -exten => _86009XX,1,Meetme,${EXTEN}|mq +exten => _86009XX,1,Meetme,${EXTEN}|Fmq ; voicelab exten moderator exten => _986009XX,1,Meetme,${EXTEN:1} @@ -629,6 +289,7 @@ exten => 8307,3,Hangup ; this is used for recording conference calls, the client app sends the filename ; value as a callerID recordings go to /var/spool/asterisk/monitor (WAV) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 exten => 8309,1,Answer exten => 8309,2,Monitor(wav,${CALLERID(name)}) exten => 8309,3,Wait,3600 @@ -636,6 +297,7 @@ exten => 8309,4,Hangup ; this is used for recording conference calls, the client app sends the filename ; value as a callerID recordings go to /var/spool/asterisk/monitor (GSM) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 exten => 8310,1,Answer exten => 8310,2,Monitor(gsm,${CALLERID(name)}) exten => 8310,3,Wait,3600 @@ -655,15 +317,14 @@ exten => 8352,3,Hangup ; prompts for recording AGI script, ID is 4321 ; first variable is format (gsm/wav) -; second variable is timeout in milliseconds (default is 360000 [6 minutes]) +; second variable is timeout in milliseconds (default is 720000 [12 minutes]) exten => 8167,1,Answer -exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000) +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----720000) exten => 8167,3,Hangup exten => 8168,1,Answer -exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000) +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----720000) exten => 8168,3,Hangup - ; playback of recorded prompts exten => _851XXXXX,1,Answer exten => _851XXXXX,2,Playback(${EXTEN}) diff --git a/docs/conf_examples/iax.conf.sample b/docs/conf_examples/iax.conf.sample index 16f31dc1..df66f71c 100644 --- a/docs/conf_examples/iax.conf.sample +++ b/docs/conf_examples/iax.conf.sample @@ -11,6 +11,16 @@ tos=lowdelay register => ASTloop:test@127.0.0.1:40569 register => ASTblind:test@127.0.0.1:41569 +[vicihelp] +host=67.134.219.20 ;voip.vicidial-group.com +type=friend +context=opengateway +disallow=all +allow=gsm +allow=ulaw +permit=67.134.219.20/255.255.255.255 +insecure=very + [ASTloop] type=friend accountcode=ASTloop diff --git a/install.pl b/install.pl index 74660e3d..9c4fddcc 100644 --- a/install.pl +++ b/install.pl @@ -667,11 +667,11 @@ if (length($ARGV[0])>1) $iax .= "register => ASTblind:test\@127.0.0.1:41569\n"; $Lext = "\n"; - $Lext .= "# Local Server: $server_ip\n"; + $Lext .= "; Local Server: $server_ip\n"; $Lext .= "exten => _$VARremDIALstr*.,1,Goto(default,\${EXTEN:16},1)\n"; $Lext .= "exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi)\n"; $Lext .= "exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi)\n"; - $Lext .= "# Local blind monitoring\n"; + $Lext .= "; Local blind monitoring\n"; $Lext .= "exten => _08600XXX,1,Dial(\${TRUNKblind}/6\${EXTEN:1},55,o)\n"; $Liax .= "\n"; @@ -739,7 +739,7 @@ if (length($ARGV[0])>1) $iax .= "register => $server_id:test\@$server_ip[$i]:4569\n"; - $Lext .= "# Remote Server VDAD extens: $server_id[$i] $server_ip[$i]\n"; + $Lext .= "; Remote Server VDAD extens: $server_id[$i] $server_ip[$i]\n"; $Lext .= "exten => _$VARremDIALstr*.,1,Dial(\${TRUNK$server_id[$i]}/\${EXTEN:16},55,o)\n"; $Liax .= "\n";