diff --git a/docs/BASE_INSTALL.txt b/docs/BASE_INSTALL.txt index 4b7b2ae8..ce4e6d4e 100644 --- a/docs/BASE_INSTALL.txt +++ b/docs/BASE_INSTALL.txt @@ -819,3 +819,24 @@ Also, check out our weblog: http://astguiclient.blogspot.com/ read the REQUIREMENTS.txt for a minimum requirements list. *** End-user Manuals for Agents and Managers are available from http://www.eflo.net + + + + + +PHASE 11: Security Hardening: + +You may want to reduce the exposure of some of the elements of VICIDIAL. Here are some examples: + + ln -s /dev/null /usr/local/apache2/htdocs/vicidial/project_auth_entries.txt + ln -s /dev/null /usr/local/apache2/htdocs/agc/project_auth_entries.txt + ln -s /dev/null /usr/local/apache2/htdocs/vicidial/admin_changes_log.txt + +- Change the WWW writable in the admin.php server settings to "0" +- Change the default admin user "6666" or it's password from the default +- Change the Default secret(password) for the default SIP and IAX accounts that are set up with astGUIclient +- Possibly use static IP addresses for the IAX/SIP conf account entries +- Change the default port for Apache in httpd.conf from 80 to something else +- Change the default port for IAX in iax.conf from 4569 to something else +- Change the default control port for SIP in sip.conf from 5060 to something else +- Use a firewall to route access using different port numbers or restricting connection by VPN or set IP addresses diff --git a/docs/QC_PROCESS.txt b/docs/QC_PROCESS.txt index 31f8f7b9..873d0c34 100644 --- a/docs/QC_PROCESS.txt +++ b/docs/QC_PROCESS.txt @@ -156,7 +156,7 @@ ALTER TABLE vicidial_log ADD qc_stage ENUM('NONE','LOCK_1','PASS','LOCK_2','FINI # For the closer log table, some fields will need to be added to the vicidial_closer_log table: ALTER TABLE vicidial_closer_log ADD qc_stage ENUM('NONE','LOCK_1','PASS','LOCK_2','FINISH',COMMIT') default 'NONE'; -# For the campaigns log table, some fields will need to be added to the vicidial_campaigns table: +# For the campaigns table, some fields will need to be added to the vicidial_campaigns table: ALTER TABLE vicidial_campaigns ADD qc_statuses TEXT; ALTER TABLE vicidial_campaigns ADD qc_lists TEXT; ALTER TABLE vicidial_campaigns ADD campaign_shift_start_time VARCHAR(4) default '0900'; diff --git a/docs/REQUIRED_APPS_INSTALL.txt b/docs/REQUIRED_APPS_INSTALL.txt index df257830..521dba3b 100644 --- a/docs/REQUIRED_APPS_INSTALL.txt +++ b/docs/REQUIRED_APPS_INSTALL.txt @@ -159,10 +159,10 @@ make install cd /usr/local -wget http://ploticus.sourceforge.net/download/pl232src.tar.gz -gunzip pl232src.tar.gz -tar xvf pl232src.tar -cd pl232src/src/ +wget http://superb-west.dl.sourceforge.net/sourceforge/ploticus/pl240src.tar.gz +gunzip pl240src.tar.gz +tar xvf pl240src.tar +cd pl240src/src/ make clean make make install diff --git a/docs/SCRATCH_INSTALL.txt b/docs/SCRATCH_INSTALL.txt index c887e78b..8e1b87af 100644 --- a/docs/SCRATCH_INSTALL.txt +++ b/docs/SCRATCH_INSTALL.txt @@ -610,15 +610,15 @@ that can be displayed real-time on a web page. - to install this directly on the command line type: NOTE: you may have to edit the Makefile to remove X11 if you don't have it - cd /usr/local - - wget http://ploticus.sourceforge.net/download/pl232src.tar.gz - - gunzip pl232src.tar.gz - - tar xvf pl232src.tar - - cd pl232src/src/ + - wget http://superb-west.dl.sourceforge.net/sourceforge/ploticus/pl240src.tar.gz + - gunzip pl240src.tar.gz + - tar xvf pl240src.tar + - cd pl240src/src/ - make clean - make - make install - you are done - NOTE: uncomment these lines to compile on systems without X11: + NOTE: uncomment these lines to compile on systems without X11(v232): NOXFLAG = -DNOX11 XLIBS = XOBJ = @@ -966,7 +966,7 @@ them: - If you have chosen a Sangoma T1/E1 or analog card, you will need to follow their instructions for installation of their driver software LATEST Sangoma Wanpipe drivers: - ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.2.1.tgz + ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.2.2.tgz - now your asterisk installation is built and loaded and it's time to configure it. diff --git a/docs/conf_examples/extensions.conf.sample b/docs/conf_examples/extensions.conf.sample index 1d8874a9..4b675b28 100644 --- a/docs/conf_examples/extensions.conf.sample +++ b/docs/conf_examples/extensions.conf.sample @@ -28,109 +28,109 @@ exten => 2020,2,Voicemail,u2000 ; Send to voicemail... exten => 401,1,Dial,(IAX2/firefly01@firefly01/s) exten => 401,2,Hangup ; extensions for other SIP and IAX call center phones -exten => 100,2,Dial,sip/cc100|20|to -exten => 101,2,Dial,sip/cc101|20|to -exten => 102,2,Dial,sip/cc102|20|to -exten => 103,2,Dial,sip/cc103|20|to -exten => 104,2,Dial,sip/cc104|20|to -exten => 105,2,Dial,sip/cc105|20|to -exten => 106,2,Dial,sip/cc106|20|to -exten => 107,2,Dial,sip/cc107|20|to -exten => 108,2,Dial,sip/cc108|20|to -exten => 109,2,Dial,sip/cc109|20|to -exten => 110,2,Dial,sip/cc110|20|to -exten => 111,2,Dial,sip/cc111|20|to -exten => 112,2,Dial,sip/cc112|20|to -exten => 113,2,Dial,sip/cc113|20|to -exten => 114,2,Dial,sip/cc114|20|to -exten => 115,2,Dial,sip/cc115|20|to -exten => 116,2,Dial,sip/cc116|20|to -exten => 117,2,Dial,sip/cc117|20|to -exten => 118,2,Dial,sip/cc118|20|to -exten => 119,2,Dial,sip/cc119|20|to -exten => 120,2,Dial,sip/cc120|20|to -exten => 121,2,Dial,sip/cc121|20|to -exten => 122,2,Dial,sip/cc122|20|to -exten => 123,2,Dial,sip/cc123|20|to -exten => 124,2,Dial,sip/cc124|20|to -exten => 125,2,Dial,sip/cc125|20|to -exten => 126,2,Dial,sip/cc126|20|to -exten => 127,2,Dial,sip/cc127|20|to -exten => 128,2,Dial,sip/cc128|20|to -exten => 129,2,Dial,sip/cc129|20|to -exten => 130,2,Dial,sip/cc130|20|to -exten => 131,2,Dial,sip/cc131|20|to -exten => 132,2,Dial,sip/cc132|20|to -exten => 133,2,Dial,sip/cc133|20|to -exten => 134,2,Dial,sip/cc134|20|to -exten => 135,2,Dial,sip/cc135|20|to -exten => 136,2,Dial,sip/cc136|20|to -exten => 137,2,Dial,sip/cc137|20|to -exten => 138,2,Dial,sip/cc138|20|to -exten => 139,2,Dial,sip/cc139|20|to -exten => 140,2,Dial,sip/cc140|20|to -exten => 141,2,Dial,sip/cc141|20|to -exten => 142,2,Dial,sip/cc142|20|to -exten => 143,2,Dial,sip/cc143|20|to -exten => 144,2,Dial,sip/cc144|20|to -exten => 145,2,Dial,sip/cc145|20|to -exten => 146,2,Dial,sip/cc146|20|to -exten => 147,2,Dial,sip/cc147|20|to -exten => 148,2,Dial,sip/cc148|20|to -exten => 149,2,Dial,sip/cc149|20|to -exten => 150,2,Dial,sip/cc150|20|to +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,2,Dial,IAX2/cc300|20|to -exten => 301,2,Dial,IAX2/cc301|20|to -exten => 302,2,Dial,IAX2/cc302|20|to -exten => 303,2,Dial,IAX2/cc303|20|to -exten => 304,2,Dial,IAX2/cc304|20|to -exten => 305,2,Dial,IAX2/cc305|20|to -exten => 306,2,Dial,IAX2/cc306|20|to -exten => 307,2,Dial,IAX2/cc307|20|to -exten => 308,2,Dial,IAX2/cc308|20|to -exten => 309,2,Dial,IAX2/cc309|20|to -exten => 310,2,Dial,IAX2/cc310|20|to -exten => 311,2,Dial,IAX2/cc311|20|to -exten => 312,2,Dial,IAX2/cc312|20|to -exten => 313,2,Dial,IAX2/cc313|20|to -exten => 314,2,Dial,IAX2/cc314|20|to -exten => 315,2,Dial,IAX2/cc315|20|to -exten => 316,2,Dial,IAX2/cc316|20|to -exten => 317,2,Dial,IAX2/cc317|20|to -exten => 318,2,Dial,IAX2/cc318|20|to -exten => 319,2,Dial,IAX2/cc319|20|to -exten => 320,2,Dial,IAX2/cc320|20|to -exten => 321,2,Dial,IAX2/cc321|20|to -exten => 322,2,Dial,IAX2/cc322|20|to -exten => 323,2,Dial,IAX2/cc323|20|to -exten => 324,2,Dial,IAX2/cc324|20|to -exten => 325,2,Dial,IAX2/cc325|20|to -exten => 326,2,Dial,IAX2/cc326|20|to -exten => 327,2,Dial,IAX2/cc327|20|to -exten => 328,2,Dial,IAX2/cc328|20|to -exten => 329,2,Dial,IAX2/cc329|20|to -exten => 330,2,Dial,IAX2/cc330|20|to -exten => 331,2,Dial,IAX2/cc331|20|to -exten => 332,2,Dial,IAX2/cc332|20|to -exten => 333,2,Dial,IAX2/cc333|20|to -exten => 334,2,Dial,IAX2/cc334|20|to -exten => 335,2,Dial,IAX2/cc335|20|to -exten => 336,2,Dial,IAX2/cc336|20|to -exten => 337,2,Dial,IAX2/cc337|20|to -exten => 338,2,Dial,IAX2/cc338|20|to -exten => 339,2,Dial,IAX2/cc339|20|to -exten => 340,2,Dial,IAX2/cc340|20|to -exten => 341,2,Dial,IAX2/cc341|20|to -exten => 342,2,Dial,IAX2/cc342|20|to -exten => 343,2,Dial,IAX2/cc343|20|to -exten => 344,2,Dial,IAX2/cc344|20|to -exten => 345,2,Dial,IAX2/cc345|20|to -exten => 346,2,Dial,IAX2/cc346|20|to -exten => 347,2,Dial,IAX2/cc347|20|to -exten => 348,2,Dial,IAX2/cc348|20|to -exten => 349,2,Dial,IAX2/cc349|20|to -exten => 350,2,Dial,IAX2/cc350|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 if using a T1 channelbank exten => 1901,1,Dial,Zap/1|30|o diff --git a/docs/conf_examples/extensions.conf.sample-1.4 b/docs/conf_examples/extensions.conf.sample-1.4 index 99b703b8..9ff3e37a 100644 --- a/docs/conf_examples/extensions.conf.sample-1.4 +++ b/docs/conf_examples/extensions.conf.sample-1.4 @@ -27,109 +27,109 @@ exten => 2020,2,Voicemail,u2000 ; Send to voicemail... exten => 401,1,Dial,(IAX2/firefly01@firefly01/s) exten => 401,2,Hangup ; extensions for other SIP and IAX call center phones -exten => 100,2,Dial,sip/cc100|20|to -exten => 101,2,Dial,sip/cc101|20|to -exten => 102,2,Dial,sip/cc102|20|to -exten => 103,2,Dial,sip/cc103|20|to -exten => 104,2,Dial,sip/cc104|20|to -exten => 105,2,Dial,sip/cc105|20|to -exten => 106,2,Dial,sip/cc106|20|to -exten => 107,2,Dial,sip/cc107|20|to -exten => 108,2,Dial,sip/cc108|20|to -exten => 109,2,Dial,sip/cc109|20|to -exten => 110,2,Dial,sip/cc110|20|to -exten => 111,2,Dial,sip/cc111|20|to -exten => 112,2,Dial,sip/cc112|20|to -exten => 113,2,Dial,sip/cc113|20|to -exten => 114,2,Dial,sip/cc114|20|to -exten => 115,2,Dial,sip/cc115|20|to -exten => 116,2,Dial,sip/cc116|20|to -exten => 117,2,Dial,sip/cc117|20|to -exten => 118,2,Dial,sip/cc118|20|to -exten => 119,2,Dial,sip/cc119|20|to -exten => 120,2,Dial,sip/cc120|20|to -exten => 121,2,Dial,sip/cc121|20|to -exten => 122,2,Dial,sip/cc122|20|to -exten => 123,2,Dial,sip/cc123|20|to -exten => 124,2,Dial,sip/cc124|20|to -exten => 125,2,Dial,sip/cc125|20|to -exten => 126,2,Dial,sip/cc126|20|to -exten => 127,2,Dial,sip/cc127|20|to -exten => 128,2,Dial,sip/cc128|20|to -exten => 129,2,Dial,sip/cc129|20|to -exten => 130,2,Dial,sip/cc130|20|to -exten => 131,2,Dial,sip/cc131|20|to -exten => 132,2,Dial,sip/cc132|20|to -exten => 133,2,Dial,sip/cc133|20|to -exten => 134,2,Dial,sip/cc134|20|to -exten => 135,2,Dial,sip/cc135|20|to -exten => 136,2,Dial,sip/cc136|20|to -exten => 137,2,Dial,sip/cc137|20|to -exten => 138,2,Dial,sip/cc138|20|to -exten => 139,2,Dial,sip/cc139|20|to -exten => 140,2,Dial,sip/cc140|20|to -exten => 141,2,Dial,sip/cc141|20|to -exten => 142,2,Dial,sip/cc142|20|to -exten => 143,2,Dial,sip/cc143|20|to -exten => 144,2,Dial,sip/cc144|20|to -exten => 145,2,Dial,sip/cc145|20|to -exten => 146,2,Dial,sip/cc146|20|to -exten => 147,2,Dial,sip/cc147|20|to -exten => 148,2,Dial,sip/cc148|20|to -exten => 149,2,Dial,sip/cc149|20|to -exten => 150,2,Dial,sip/cc150|20|to +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,2,Dial,IAX2/cc300|20|to -exten => 301,2,Dial,IAX2/cc301|20|to -exten => 302,2,Dial,IAX2/cc302|20|to -exten => 303,2,Dial,IAX2/cc303|20|to -exten => 304,2,Dial,IAX2/cc304|20|to -exten => 305,2,Dial,IAX2/cc305|20|to -exten => 306,2,Dial,IAX2/cc306|20|to -exten => 307,2,Dial,IAX2/cc307|20|to -exten => 308,2,Dial,IAX2/cc308|20|to -exten => 309,2,Dial,IAX2/cc309|20|to -exten => 310,2,Dial,IAX2/cc310|20|to -exten => 311,2,Dial,IAX2/cc311|20|to -exten => 312,2,Dial,IAX2/cc312|20|to -exten => 313,2,Dial,IAX2/cc313|20|to -exten => 314,2,Dial,IAX2/cc314|20|to -exten => 315,2,Dial,IAX2/cc315|20|to -exten => 316,2,Dial,IAX2/cc316|20|to -exten => 317,2,Dial,IAX2/cc317|20|to -exten => 318,2,Dial,IAX2/cc318|20|to -exten => 319,2,Dial,IAX2/cc319|20|to -exten => 320,2,Dial,IAX2/cc320|20|to -exten => 321,2,Dial,IAX2/cc321|20|to -exten => 322,2,Dial,IAX2/cc322|20|to -exten => 323,2,Dial,IAX2/cc323|20|to -exten => 324,2,Dial,IAX2/cc324|20|to -exten => 325,2,Dial,IAX2/cc325|20|to -exten => 326,2,Dial,IAX2/cc326|20|to -exten => 327,2,Dial,IAX2/cc327|20|to -exten => 328,2,Dial,IAX2/cc328|20|to -exten => 329,2,Dial,IAX2/cc329|20|to -exten => 330,2,Dial,IAX2/cc330|20|to -exten => 331,2,Dial,IAX2/cc331|20|to -exten => 332,2,Dial,IAX2/cc332|20|to -exten => 333,2,Dial,IAX2/cc333|20|to -exten => 334,2,Dial,IAX2/cc334|20|to -exten => 335,2,Dial,IAX2/cc335|20|to -exten => 336,2,Dial,IAX2/cc336|20|to -exten => 337,2,Dial,IAX2/cc337|20|to -exten => 338,2,Dial,IAX2/cc338|20|to -exten => 339,2,Dial,IAX2/cc339|20|to -exten => 340,2,Dial,IAX2/cc340|20|to -exten => 341,2,Dial,IAX2/cc341|20|to -exten => 342,2,Dial,IAX2/cc342|20|to -exten => 343,2,Dial,IAX2/cc343|20|to -exten => 344,2,Dial,IAX2/cc344|20|to -exten => 345,2,Dial,IAX2/cc345|20|to -exten => 346,2,Dial,IAX2/cc346|20|to -exten => 347,2,Dial,IAX2/cc347|20|to -exten => 348,2,Dial,IAX2/cc348|20|to -exten => 349,2,Dial,IAX2/cc349|20|to -exten => 350,2,Dial,IAX2/cc350|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 if using a T1 channelbank exten => 1901,1,Dial,Zap/1|30|o diff --git a/install.pl b/install.pl index d1d6e9d2..caedd10b 100644 --- a/install.pl +++ b/install.pl @@ -179,6 +179,7 @@ if (length($ARGV[0])>1) print " [--fastagi_log_checkfordead=30] = define FastAGI log check-for-dead seconds\n"; print " [--fastagi_log_checkforwait=60] = define FastAGI log check-for-wait seconds\n"; print " [--build_multiserver_conf] = generates conf file examples for extensions.conf and iax.conf\n"; + print " [--build_phones_conf] = generates conf file examples for extensions.conf, sip.conf and iax.conf\n"; print "\n"; exit; @@ -747,6 +748,134 @@ if (length($ARGV[0])>1) print "$ext$Lext\n$iax$Liax\n"; exit; } + + + if ($args =~ /--build_phones_conf/i) # CLI defined conf files + { + $build_phones_conf='y'; + print " CLI phones conf gen: YES\n"; + + # default path to astguiclient configuration file: + $PATHconf = '/etc/astguiclient.conf'; + + open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; + @conf = ; + close(conf); + $i=0; + foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + + # Customized Variables + $server_ip = $VARserver_ip; # Asterisk server IP + if (!$VARDB_port) {$VARDB_port='3306';} + + use DBI; + + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + $ext = "\nAdd the following lines to your extensions.conf file:\n"; + + $sip = "\nAdd the following lines to your sip.conf file:\n"; + + $iax = "\nAdd the following lines to your iax.conf file:\n"; + + $vm = "\nAdd the following lines to your voicemail.conf file:\n"; + + ##### Get the SIP phone entries ##### + $stmtA = "SELECT extension,dialplan_number,voicemail_id,pass FROM phones where server_ip='$server_ip' and protocol='SIP';"; + print "$stmtA\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $extension[$i] = "$aryA[0]"; + $dialplan[$i] = "$aryA[1]"; + $voicemail[$i] = "$aryA[2]"; + $pass[$i] = "$aryA[3]"; + + $ext .= "exten => $dialplan[$i],1,Dial(SIP/$extension[$i])\n"; + $ext .= "exten => $dialplan[$i],2,Voicemail,u$voicemail[$i]\n"; + + $sip .= "\[$extension[$i]\]\n"; + $sip .= "disallow=all\n"; + $sip .= "allow=ulaw\n"; + $sip .= "type=friend\n"; + $sip .= "username=$extension[$i]\n"; + $sip .= "secret=$pass[$i]\n"; + $sip .= "host=dynamic\n"; + $sip .= "dtmfmode=rfc2833\n"; + $sip .= "qualify=1000\n"; + $sip .= "mailbox=$voicemail[$i]\n\n"; + + $vm .= "$voicemail[$i] => $voicemail[$i],$extension[$i] Mailbox\n"; + + $i++; + } + $sthA->finish(); + + ##### Get the IAX phone entries ##### + $stmtA = "SELECT extension,dialplan_number,voicemail_id,pass FROM phones where server_ip='$server_ip' and protocol='IAX2';"; + print "$stmtA\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $extension[$i] = "$aryA[0]"; + $dialplan[$i] = "$aryA[1]"; + $voicemail[$i] = "$aryA[2]"; + $pass[$i] = "$aryA[3]"; + + $ext .= "exten => $dialplan[$i],1,Dial(IAX2/$extension[$i])\n"; + $ext .= "exten => $dialplan[$i],2,Voicemail,u$voicemail[$i]\n"; + + $iax .= "\[$extension[$i]\]\n"; + $iax .= "disallow=all\n"; + $iax .= "allow=ulaw\n"; + $iax .= "context=default\n"; + $iax .= "type=friend\n"; + $iax .= "accountcode=$extension[$i]\n"; + $iax .= "secret=$pass[$i]\n"; + $iax .= "auth=md5\n"; + $iax .= "host=dynamic\n"; + $iax .= "permit=0.0.0.0/0.0.0.0\n"; + $iax .= "qualify=1000\n"; + $iax .= "mailbox=$voicemail[$i]\n\n"; + + $vm .= "$voicemail[$i] => $voicemail[$i],$extension[$i] Mailbox\n"; + + $i++; + } + $sthA->finish(); + + + print "$ext\n$sip\n$iax\n$vm\n"; + exit; + } } } else