Index: /freepbx/branches/ari_changes/buildtools/README.directory
===================================================================
--- /freepbx/branches/ari_changes/buildtools/README.directory (revision 4993)
+++ /freepbx/branches/ari_changes/buildtools/README.directory (revision 4993)
@@ -0,0 +1,42 @@
+Build Tools:
+
+This directory contains tools that are used to build and package FreePBX.
+This document will describe the tools available, what they do and how you
+use them.
+
+WARNING: Some of these tools will do direct svn checkin's and should be used
+ with caution. Please review the scripts before doing a publish
+ and make sure they do no need to be updated. At this time they do
+ very little error checking and should evolve to improve over time.
+
+/--------------------------------------------------------------------------------------------
+pack_javascripts.sh, jsmin.rb:
+
+These two scripts are used to package the libfreebx.javascripts.js by taking
+all the javascript libraries that are used under the common directory and
+running them through jsmin.rb, a simple Ruby script that does a reasonable
+job of compressing the scripts.
+
+
+/--------------------------------------------------------------------------------------------
+generate-release.sh
+
+This script automates most of the process of generating the release tarballs and
+associated tags to do a release. It is oulined on the wiki and the key stages
+are listed here (from the wiki):
+
+ * Now run the "generate-release.sh " script which will:
+ * package and checking libfreepbx.javascripts.js if needed
+ * generate the md5 hash for the new version and commit it
+ * create a tag from the current branch
+ * svn cp the core and framework modules into ~amp_conf/htdocs/admin/modules of the tag
+ * creates and cd to /usr/src/freepbx-release directory
+ * svn exports the tag to create a normal freepbx-''''.tar.gz
+ * uses the modlist.sh list to export all the modules and creates a freepbx-''''-withmodules.tar.gz
+
+/--------------------------------------------------------------------------------------------
+md5-amp_conf.sh
+
+This script is not really used any longer as the functionality is incorporated into
+generate-release.sh. It's purpose is to generate the md5 sum files. It does not checkin
+files to svn.
Index: /freepbx/branches/ari_changes/buildtools/pack_javascripts.sh
===================================================================
--- /freepbx/branches/ari_changes/buildtools/pack_javascripts.sh (revision 4993)
+++ /freepbx/branches/ari_changes/buildtools/pack_javascripts.sh (revision 4993)
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+DIR="../amp_conf/htdocs/admin/common"
+
+cat $DIR/script.legacy.js $DIR/jquery-1.1.3.1.js $DIR/jquery.tabs-2.7.4.js $DIR/jquery.dimensions.js $DIR/interface.dim.js | ./jsmin.rb > $DIR/libfreepbx.javascripts.js
Index: /freepbx/branches/ari_changes/buildtools/generate-release.sh
===================================================================
--- /freepbx/branches/ari_changes/buildtools/generate-release.sh (revision 5946)
+++ /freepbx/branches/ari_changes/buildtools/generate-release.sh (revision 5946)
@@ -0,0 +1,97 @@
+#!/bin/bash
+# use this script like:
+# md5-amp_conf.sh 1.10.00X
+
+# WARNING: THIS IS HARDCODED TO THE 2.3 BRANCH
+#
+# TODO: SHOULD CHECK THE VERSION OF THE MODULES BEFORE PROCEEDING
+#
+module_url="http://svn.freepbx.org/modules/branches/2.5"
+core_url=${module_url}/core
+framework_url=${module_url}/framework
+dashboard_url=${module_url}/dashboard
+customappsreg_url=${module_url}/customappsreg
+voicemail_url=${module_url}/voicemail
+recordings_url=${module_url}/recordings
+music_url=${module_url}/music
+featurecodeadmin_url=${module_url}/featurecodeadmin
+infoservices_url=${module_url}/infoservices
+
+case "$1" in
+ ?*)
+
+ver=$1
+
+cd ..
+
+# Make sure everything is up-to-date
+svn update
+
+# Now make sure javascript library reflects all the changes
+cd buildtools
+./pack_javascripts.sh
+cd ..
+svn ci --message "Auto checkin packed libfreepbx.javascripts.js as part of build process" amp_conf/htdocs/admin/common/libfreepbx.javascripts.js
+
+# This adds the MD5 Sum for all the relevant files that gets checked in on the next steps below
+#
+cd amp_conf
+find agi-bin astetc bin htdocs htdocs_panel mohmp3 sbin sounds -type f | xargs md5sum | grep -v .svn > ../upgrades/$ver.md5
+
+ ;;
+ *)
+
+echo "usage: generate-release.sh ";
+exit
+
+ ;;
+esac
+
+
+# Prepare and checkin the MD5 Sum
+#
+cd ../upgrades
+svn add $ver.md5
+svn ps svn:mime-type text/plain $ver.md5
+svn ps svn:eol-style native $ver.md5
+svn ci -m "Creating release $ver"
+
+# Back up to the top, do an svn info to get the URL so we can use it to create a tag
+#
+cd ..
+cur=`svn info | grep URL | awk ' { print $2 }'`
+svn cp -m "Automatic tag of $ver" $cur http://svn.freepbx.org/freepbx/tags/$ver
+
+# Now that the tag is made, we want to add core and framework to the tag so that
+# the tag reflects the tarball. Then we will use the tag to generate the releases
+#
+svn cp -m "Automatic packaging of core with $ver" $core_url http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/
+svn cp -m "Automatic packaging of framework with $ver" $framework_url http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/
+svn cp -m "Automatic packaging of dashboard with $ver" $dashboard_url http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/
+svn cp -m "Automatic packaging of customappsreg with $ver" $customappsreg_url http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/
+svn cp -m "Automatic packaging of voicemail with $ver" $voicemail_url http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/
+svn cp -m "Automatic packaging of recordings with $ver" $recordings_url http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/
+svn cp -m "Automatic packaging of music with $ver" $music_url http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/
+svn cp -m "Automatic packaging of featurecodeadmin with $ver" $featurecodeadmin_url http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/
+svn cp -m "Automatic packaging of infoservices with $ver" $infoservices_url http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/
+
+# Now clear out the release diretory where we will build the tarballs and grab it from the tag to get core and framework
+#
+mkdir -p /usr/src/freepbx-release
+rm -rf /usr/src/freepbx-release/freepbx-$ver
+
+# Use the tag to build the tarball
+#
+svn export http://svn.freepbx.org/freepbx/tags/$ver /usr/src/freepbx-release/freepbx-$ver
+
+cd /usr/src/freepbx-release
+tar zcvf freepbx-$ver.tar.gz freepbx-$ver
+cd freepbx-$ver/amp_conf/htdocs/admin/modules/
+. ./import.sh
+
+# import should not bring in core and framework, those were removed from its list
+#
+find . -name .svn -exec rm -rf {} \;
+cd /usr/src/freepbx-release
+tar zcvf freepbx-$ver-withmodules.tar.gz freepbx-$ver
+
Index: /freepbx/branches/ari_changes/buildtools/jsmin.rb
===================================================================
--- /freepbx/branches/ari_changes/buildtools/jsmin.rb (revision 4993)
+++ /freepbx/branches/ari_changes/buildtools/jsmin.rb (revision 4993)
@@ -0,0 +1,201 @@
+#!/usr/bin/ruby
+# jsmin.rb 2007-07-20
+# Author: Uladzislau Latynski
+# This work is a translation from C to Ruby of jsmin.c published by
+# Douglas Crockford. Permission is hereby granted to use the Ruby
+# version under the same conditions as the jsmin.c on which it is
+# based.
+#
+# /* jsmin.c
+# 2003-04-21
+#
+# Copyright (c) 2002 Douglas Crockford (www.crockford.com)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+# of the Software, and to permit persons to whom the Software is furnished to do
+# so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# The Software shall be used for Good, not Evil.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+EOF = -1
+$theA = ""
+$theB = ""
+
+# isAlphanum -- return true if the character is a letter, digit, underscore,
+# dollar sign, or non-ASCII character
+def isAlphanum(c)
+ return false if !c || c == EOF
+ return ((c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') ||
+ (c >= 'A' && c <= 'Z') || c == '_' || c == '$' ||
+ c == '\\' || c[0] > 126)
+end
+
+# get -- return the next character from stdin. Watch out for lookahead. If
+# the character is a control character, translate it to a space or linefeed.
+def get()
+ c = $stdin.getc
+ return EOF if(!c)
+ c = c.chr
+ return c if (c >= " " || c == "\n" || c.unpack("c") == EOF)
+ return "\n" if (c == "\r")
+ return " "
+end
+
+# Get the next character without getting it.
+def peek()
+ lookaheadChar = $stdin.getc
+ $stdin.ungetc(lookaheadChar)
+ return lookaheadChar.chr
+end
+
+# mynext -- get the next character, excluding comments.
+# peek() is used to see if a '/' is followed by a '/' or '*'.
+def mynext()
+ c = get
+ if (c == "/")
+ if(peek == "/")
+ while(true)
+ c = get
+ if (c <= "\n")
+ return c
+ end
+ end
+ end
+ if(peek == "*")
+ get
+ while(true)
+ case get
+ when "*"
+ if (peek == "/")
+ get
+ return " "
+ end
+ when EOF
+ raise "Unterminated comment"
+ end
+ end
+ end
+ end
+ return c
+end
+
+
+# action -- do something! What you do is determined by the argument: 1
+# Output A. Copy B to A. Get the next B. 2 Copy B to A. Get the next B.
+# (Delete A). 3 Get the next B. (Delete B). action treats a string as a
+# single character. Wow! action recognizes a regular expression if it is
+# preceded by ( or , or =.
+def action(a)
+ if(a==1)
+ $stdout.write $theA
+ end
+ if(a==1 || a==2)
+ $theA = $theB
+ if ($theA == "\'" || $theA == "\"")
+ while (true)
+ $stdout.write $theA
+ $theA = get
+ break if ($theA == $theB)
+ raise "Unterminated string literal" if ($theA <= "\n")
+ if ($theA == "\\")
+ $stdout.write $theA
+ $theA = get
+ end
+ end
+ end
+ end
+ if(a==1 || a==2 || a==3)
+ $theB = mynext
+ if ($theB == "/" && ($theA == "(" || $theA == "," || $theA == "=" ||
+ $theA == ":" || $theA == "[" || $theA == "!" ||
+ $theA == "&" || $theA == "|" || $theA == "?" ||
+ $theA == "{" || $theA == "}" || $theA == ";" ||
+ $theA == "\n"))
+ $stdout.write $theA
+ $stdout.write $theB
+ while (true)
+ $theA = get
+ if ($theA == "/")
+ break
+ elsif ($theA == "\\")
+ $stdout.write $theA
+ $theA = get
+ elsif ($theA <= "\n")
+ raise "Unterminated RegExp Literal"
+ end
+ $stdout.write $theA
+ end
+ $theB = mynext
+ end
+ end
+end
+
+# jsmin -- Copy the input to the output, deleting the characters which are
+# insignificant to JavaScript. Comments will be removed. Tabs will be
+# replaced with spaces. Carriage returns will be replaced with linefeeds.
+# Most spaces and linefeeds will be removed.
+def jsmin
+ $theA = "\n"
+ action(3)
+ while ($theA != EOF)
+ case $theA
+ when " "
+ if (isAlphanum($theB))
+ action(1)
+ else
+ action(2)
+ end
+ when "\n"
+ case ($theB)
+ when "{","[","(","+","-"
+ action(1)
+ when " "
+ action(3)
+ else
+ if (isAlphanum($theB))
+ action(1)
+ else
+ action(2)
+ end
+ end
+ else
+ case ($theB)
+ when " "
+ if (isAlphanum($theA))
+ action(1)
+ else
+ action(3)
+ end
+ when "\n"
+ case ($theA)
+ when "}","]",")","+","-","\"","\\", "'", '"'
+ action(1)
+ else
+ if (isAlphanum($theA))
+ action(1)
+ else
+ action(3)
+ end
+ end
+ else
+ action(1)
+ end
+ end
+ end
+end
+
+jsmin
Index: /freepbx/branches/ari_changes/buildtools/md5-amp_conf.sh
===================================================================
--- /freepbx/branches/ari_changes/buildtools/md5-amp_conf.sh (revision 5124)
+++ /freepbx/branches/ari_changes/buildtools/md5-amp_conf.sh (revision 5124)
@@ -0,0 +1,18 @@
+#!/bin/bash
+# use this script like:
+# md5-amp_conf.sh 1.10.00X
+
+case "$1" in
+ ?*)
+
+cd ../amp_conf
+
+find agi-bin astetc bin cgi-bin htdocs htdocs_panel mohmp3 sbin sounds -type f | xargs md5sum | grep -v .svn > ../upgrades/$1.md5
+
+ ;;
+ *)
+
+echo "usage: md5-amp_conf ";
+
+ ;;
+esac
Index: /freepbx/branches/ari_changes/LICENSE
===================================================================
--- /freepbx/branches/ari_changes/LICENSE (revision 3392)
+++ /freepbx/branches/ari_changes/LICENSE (revision 3392)
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
Index: /freepbx/branches/ari_changes/amp_conf/astetc/cdr_mysql.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/cdr_mysql.conf (revision 5723)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/cdr_mysql.conf (revision 5723)
@@ -0,0 +1,20 @@
+;
+; Note - if the database server is hosted on the same machine as the
+; asterisk server, you can achieve a local Unix socket connection by
+; setting hostname=localhost
+;
+; port and sock are both optional parameters. If hostname is specified
+; and is not "localhost", then cdr_mysql will attempt to connect to the
+; port specified or use the default port. If hostname is not specified
+; or if hostname is "localhost", then cdr_mysql will attempt to connect
+; to the socket file specified by sock or otherwise use the default socket
+; file.
+;
+[global]
+hostname=localhost
+dbname=asteriskcdrdb
+password=AMPDBPASS
+user=AMPDBUSER
+userfield=1
+;port=3306
+;sock=/tmp/mysql.sock
Index: /freepbx/branches/ari_changes/amp_conf/astetc/modem.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/modem.conf (revision 8)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/modem.conf (revision 8)
@@ -0,0 +1,74 @@
+;
+; Internet Phone Jack
+;
+; Configuration file
+;
+[interfaces]
+;
+; By default, incoming calls should come in on the "remote" context
+;
+context=remote
+;
+; Modem Drivers to load
+;
+driver=aopen
+;
+; Default language
+;
+;language=en
+;
+; We can optionally override the auto detection. This is necessary
+; particularly if asterisk does not know about our kind of modem.
+;
+;type=autodetect
+;type=aopen
+;
+; We can strip a given number of digits on outgoing dialing, so, for example
+; you can have it dial "8871042" when given "98871042".
+;
+stripmsd=1
+;
+; Type of dialing
+;
+dialtype=tone
+;dialtype=pulse
+;
+; Mode selection. "Immediate" means that as soon as you dial, you're connected
+; and the line is considered up. "Ring" means we wait until the ring cadence
+; occurs at least once. "Answer" means we wait until the other end picks up.
+;
+;mode=answer
+;mode=ring
+mode=immediate
+;
+; List all devices we can use.
+;
+;device => /dev/ttyS3
+;
+; ISDN example
+;
+;msn=39907835
+;device => /dev/ttyI0
+
+;===============
+; More complex ISDN example
+;
+; A single device which listens to 3 MSNs
+; the wildcard '*' can be used when all MSN's should be accepted.
+; (The incoming number can be used to go directly into the extension
+; with the matching number. I.e. if MSN 33 is called, (context,33)
+; will tried first, than (context,s) and finally (default,s).
+;
+;msn=50780020
+;incomingmsn=50780020,50780021,50780022
+;device => /dev/ttyI2
+;
+; two other devices, which are in group '1' and are used when an
+; outgoing dial used: exten => s,1,Dial,Modem/g1:1234|60|r
+; (we do not need more outgoing devices, since ISDN2 has only 2 channels.)
+; Lines can be in more than one group (1-31); comma seperated list.
+;
+group=1 ; group=1,2,3,9-12
+;msn=50780023
+;device => /dev/ttyI3
+;device => /dev/ttyI4
Index: /freepbx/branches/ari_changes/amp_conf/astetc/vm_general.inc
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/vm_general.inc (revision 745)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/vm_general.inc (revision 745)
@@ -0,0 +1,15 @@
+; 1st listed format gets emailed
+format=wav49|wav
+
+attach=yes
+pbxskip=yes ; Don't put [PBX]: in the subject line
+serveremail=vm@asterisk ; Who the e-mail notification should appear to come from
+fromstring=Voicemail System ; Real name of email sender
+maxmessage=180 ; max length of vm message
+minmessage=3 ; Minimum length of a voicemail message in seconds
+maxsilence=5 ; Wait for 5 silent seconds and end the voicemail
+silencethreshold=128 ; What do we consider to be silence
+skipms=3000 ; How many miliseconds to skip forward/back when rew/ff in message playback
+review=yes ; Allow sender to review/rerecord their message before saving it
+operator=yes ; Allow caller to press 0
+nextaftercmd=yes ; Automagically play next message when current message is deleted or saved
Index: /freepbx/branches/ari_changes/amp_conf/astetc/enum.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/enum.conf (revision 190)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/enum.conf (revision 190)
@@ -0,0 +1,4 @@
+[general]
+search => e164.arpa
+search => e164.org
+
Index: /freepbx/branches/ari_changes/amp_conf/astetc/indications.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/indications.conf (revision 2834)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/indications.conf (revision 2834)
@@ -0,0 +1,708 @@
+; indications.conf
+; Configuration file for location specific tone indications
+; used by the pbx_indications module.
+;
+; NOTE:
+; When adding countries to this file, please keep them in alphabetical
+; order according to the 2-character country codes!
+;
+; The [general] category is for certain global variables.
+; All other categories are interpreted as location specific indications
+;
+;
+[general]
+country=us ; default location
+
+
+; [example]
+; description = string
+; The full name of your country, in English.
+; alias = iso[,iso]*
+; List of other countries 2-letter iso codes, which have the same
+; tone indications.
+; ringcadence = num[,num]*
+; List of durations the physical bell rings.
+; dial = tonelist
+; Set of tones to be played when one picks up the hook.
+; busy = tonelist
+; Set of tones played when the receiving end is busy.
+; congestion = tonelist
+; Set of tones played when there is some congestion (on the network?)
+; callwaiting = tonelist
+; Set of tones played when there is a call waiting in the background.
+; dialrecall = tonelist
+; Not well defined; many phone systems play a recall dial tone after hook
+; flash.
+; record = tonelist
+; Set of tones played when call recording is in progress.
+; info = tonelist
+; Set of tones played with special information messages (e.g., "number is
+; out of service")
+; 'name' = tonelist
+; Every other variable will be available as a shortcut for the "PlayList" command
+; but will not be used automatically by Asterisk.
+;
+;
+; The tonelist itself is defined by a comma-separated sequence of elements.
+; Each element consist of a frequency (f) with an optional duration (in ms)
+; attached to it (f/duration). The frequency component may be a mixture of two
+; frequencies (f1+f2) or a frequency modulated by another frequency (f1*f2).
+; The implicit modulation depth is fixed at 90%, though.
+; If the list element starts with a !, that element is NOT repeated,
+; therefore, only if all elements start with !, the tonelist is time-limited,
+; all others will repeat indefinitely.
+;
+; concisely:
+; element = [!]freq[+|*freq2][/duration]
+; tonelist = element[,element]*
+;
+; Please note that SPACES ARE NOT ALLOWED in tone lists!
+;
+
+[at]
+description = Austria
+ringcadence = 1000,5000
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+dial = 420
+busy = 420/400,0/400
+ring = 420/1000,0/5000
+congestion = 420/200,0/200
+callwaiting = 420/40,0/1960
+dialrecall = 420
+; RECORDTONE - not specified
+record = 1400/80,0/14920
+info = 950/330,1450/330,1850/330,0/1000
+stutter = 380+420
+
+[au]
+description = Australia
+; Reference http://www.acif.org.au/__data/page/3303/S002_2001.pdf
+; Normal Ring
+ringcadence = 400,200,400,2000
+; Distinctive Ring 1 - Forwarded Calls
+; 400,400,200,200,400,1400
+; Distinctive Ring 2 - Selective Ring 2 + Operator + Recall
+; 400,400,200,2000
+; Distinctive Ring 3 - Multiple Subscriber Number 1
+; 200,200,400,2200
+; Distinctive Ring 4 - Selective Ring 1 + Centrex
+; 400,2600
+; Distinctive Ring 5 - Selective Ring 3
+; 400,400,200,400,200,1400
+; Distinctive Ring 6 - Multiple Subscriber Number 2
+; 200,400,200,200,400,1600
+; Distinctive Ring 7 - Multiple Subscriber Number 3 + Data Privacy
+; 200,400,200,400,200,1600
+; Tones
+dial = 413+438
+busy = 425/375,0/375
+ring = 413+438/400,0/200,413+438/400,0/2000
+; XXX Congestion: Should reduce by 10 db every other cadence XXX
+congestion = 425/375,0/375,420/375,0/375
+callwaiting = 425/200,0/200,425/200,0/4400
+dialrecall = 413+438
+; Record tone used for Call Intrusion/Recording or Conference
+record = !425/1000,!0/15000,425/360,0/15000
+info = 425/2500,0/500
+; Other Australian Tones
+; The STD "pips" indicate the call is not an untimed local call
+std = !525/100,!0/100,!525/100,!0/100,!525/100,!0/100,!525/100,!0/100,!525/100
+; Facility confirmation tone (eg. Call Forward Activated)
+facility = 425
+; Message Waiting "stutter" dialtone
+stutter = 413+438/100,0/40
+; Ringtone for calls to Telstra mobiles
+ringmobile = 400+450/400,0/200,400+450/400,0/2000
+
+[bg]
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+description = Bulgaria
+ringdance = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/250,0/250
+callwaiting = 425/150,0/150,425/150,0/4000
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+record = 1400/425,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+stutter = 425/1500,0/100
+
+[br]
+description = Brazil
+ringcadence = 1000,4000
+dial = 425
+busy = 425/250,0/250
+ring = 425/1000,0/4000
+congestion = 425/250,0/250,425/750,0/250
+callwaiting = 425/50,0/1000
+; Dialrecall not used in Brazil standard (using UK standard)
+dialrecall = 350+440
+; Record tone is not used in Brazil, use busy tone
+record = 425/250,0/250
+; Info not used in Brazil standard (using UK standard)
+info = 950/330,1400/330,1800/330
+stutter = 350+440
+
+[be]
+description = Belgium
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,3000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/3000
+congestion = 425/167,0/167
+callwaiting = 1400/175,0/175,1400/175,0/3500
+; DIALRECALL - not specified
+dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440"
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+info = 900/330,1400/330,1800/330,0/1000
+stutter = 425/1000,0/250
+
+[ch]
+description = Switzerland
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/200,0/200,425/200,0/4000
+; DIALRECALL - not specified
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+; RECORDTONE - not specified
+record = 1400/80,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+stutter = 425+340/1100,0/1100
+
+[cl]
+description = Chile
+; According to specs from Telefonica CTC Chile
+ringcadence = 1000,3000
+dial = 400
+busy = 400/500,0/500
+ring = 400/1000,0/3000
+congestion = 400/200,0/200
+callwaiting = 400/250,0/8750
+dialrecall = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
+record = 1400/500,0/15000
+info = 950/333,1400/333,1800/333,0/1000
+stutter = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
+
+[cn]
+description = China
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 450
+busy = 450/350,0/350
+ring = 450/1000,0/4000
+congestion = 450/700,0/700
+callwaiting = 450/400,0/4000
+dialrecall = 450
+record = 950/400,0/10000
+info = 450/100,0/100,450/100,0/100,450/100,0/100,450/400,0/400
+; STUTTER - not specified
+stutter = 450+425
+
+[cz]
+description = Czech Republic
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425/330,0/330,425/660,0/660
+busy = 425/330,0/330
+ring = 425/1000,0/4000
+congestion = 425/165,0/165
+callwaiting = 425/330,0/9000
+; DIALRECALL - not specified
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425/330,0/330,425/660,0/660
+; RECORDTONE - not specified
+record = 1400/500,0/14000
+info = 950/330,0/30,1400/330,0/30,1800/330,0/1000
+; STUTTER - not specified
+stutter = 425/450,0/50
+
+[de]
+description = Germany
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425
+busy = 425/480,0/480
+ring = 425/1000,0/4000
+congestion = 425/240,0/240
+callwaiting = !425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,0
+; DIALRECALL - not specified
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+; RECORDTONE - not specified
+record = 1400/80,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+stutter = 425+400
+
+[dk]
+description = Denmark
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = !425/200,!0/600,!425/200,!0/3000,!425/200,!0/200,!425/200,0
+; DIALRECALL - not specified
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+; RECORDTONE - not specified
+record = 1400/80,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+; STUTTER - not specified
+stutter = 425/450,0/50
+
+[ee]
+description = Estonia
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425
+busy = 425/300,0/300
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+; CALLWAIT not in accordance to ITU
+callwaiting = 950/650,0/325,950/325,0/30,1400/1300,0/2600
+; DIALRECALL - not specified
+dialrecall = 425/650,0/25
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+; INFO not in accordance to ITU
+info = 950/650,0/325,950/325,0/30,1400/1300,0/2600
+; STUTTER not specified
+stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+
+[es]
+description = Spain
+ringcadence = 1500,3000
+dial = 425
+busy = 425/200,0/200
+ring = 425/1500,0/3000
+congestion = 425/200,0/200,425/200,0/200,425/200,0/600
+callwaiting = 425/175,0/175,425/175,0/3500
+dialrecall = !425/200,!0/200,!425/200,!0/200,!425/200,!0/200,425
+record = 1400/500,0/15000
+info = 950/330,0/1000
+dialout = 500
+
+
+[fi]
+description = Finland
+ringcadence = 1000,4000
+dial = 425
+busy = 425/300,0/300
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/150,0/150,425/150,0/8000
+dialrecall = 425/650,0/25
+record = 1400/500,0/15000
+info = 950/650,0/325,950/325,0/30,1400/1300,0/2600
+stutter = 425/650,0/25
+
+[fr]
+description = France
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1500,3500
+; Dialtone can also be 440+330
+dial = 440
+busy = 440/500,0/500
+ring = 440/1500,0/3500
+; CONGESTION - not specified
+congestion = 440/250,0/250
+callwait = 440/300,0/10000
+; DIALRECALL - not specified
+dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330
+stutter = !440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,440
+
+[gr]
+description = Greece
+ringcadence = 1000,4000
+dial = 425/200,0/300,425/700,0/800
+busy = 425/300,0/300
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/150,0/150,425/150,0/8000
+dialrecall = 425/650,0/25
+record = 1400/400,0/15000
+info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
+stutter = 425/650,0/25
+
+[hu]
+description = Hungary
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1250,3750
+dial = 425
+busy = 425/300,0/300
+ring = 425/1250,0/3750
+congestion = 425/300,0/300
+callwaiting = 425/40,0/1960
+dialrecall = 425+450
+; RECORDTONE - not specified
+record = 1400/400,0/15000
+info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
+stutter = 350+375+400
+
+[il]
+description = Israel
+ringcadence = 1000,3000
+dial = 414
+busy = 414/500,0/500
+ring = 414/1000,0/3000
+congestion = 414/250,0/250
+callwaiting = 414/100,0/100,414/100,0/100,414/600,0/3000
+dialrecall = !414/100,!0/100,!414/100,!0/100,!414/100,!0/100,414
+record = 1400/500,0/15000
+info = 1000/330,1400/330,1800/330,0/1000
+stutter = !414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,414
+
+
+[in]
+description = India
+ringcadence = 400,200,400,2000
+dial = 400*25
+busy = 400/750,0/750
+ring = 400*25/400,0/200,400*25/400,0/2000
+congestion = 400/250,0/250
+callwaiting = 400/200,0/100,400/200,0/7500
+dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0/1000
+stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+
+[it]
+description = Italy
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425/200,0/200,425/600,0/1000
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/400,0/100,425/250,0/100,425/150,0/14000
+dialrecall = 470/400,425/400
+record = 1400/400,0/15000
+info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
+stutter = 470/400,425/400
+
+[lt]
+description = Lithuania
+ringcadence = 1000,4000
+dial = 425
+busy = 425/350,0/350
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/150,0/150,425/150,0/4000
+; DIALRECALL - not specified
+dialrecall = 425/500,0/50
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
+; STUTTER - not specified
+stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+
+[jp]
+description = Japan
+ringcadence = 1000,2000
+dial = 400
+busy = 400/500,0/500
+ring = 400+15/1000,0/2000
+congestion = 400/500,0/500
+callwaiting = 400+16/500,0/8000
+dialrecall = !400/200,!0/200,!400/200,!0/200,!400/200,!0/200,400
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0
+stutter = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
+
+[mx]
+description = Mexico
+ringcadence = 2000,4000
+dial = 425
+busy = 425/250,0/250
+ring = 425/1000,0/4000
+congestion = 425/250,0/250
+callwaiting = 425/200,0/600,425/200,0/10000
+dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+record = 1400/500,0/15000
+info = 950/330,0/30,1400/330,0/30,1800/330,0/1000
+stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+
+[my]
+description = Malaysia
+ringcadence = 2000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/400,0/200
+congestion = 425/500,0/500
+
+[nl]
+description = Netherlands
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+; Most of these 425's can also be 450's
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/250,0/250
+callwaiting = 425/500,0/9500
+; DIALRECALL - not specified
+dialrecall = 425/500,0/50
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+stutter = 425/500,0/50
+
+[no]
+description = Norway
+ringcadence = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/200,0/600,425/200,0/10000
+dialrecall = 470/400,425/400
+record = 1400/400,0/15000
+info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
+stutter = 470/400,425/400
+
+[nz]
+description = New Zealand
+;NOTE - the ITU has different tonesets for NZ, but according to some residents there,
+; this is, indeed, the correct way to do it.
+ringcadence = 400,200,400,2000
+dial = 400
+busy = 400/250,0/250
+ring = 400+450/400,0/200,400+450/400,0/2000
+congestion = 400/375,0/375
+callwaiting = !400/200,!0/3000,!400/200,!0/3000,!400/200,!0/3000,!400/200
+dialrecall = !400/100!0/100,!400/100,!0/100,!400/100,!0/100,400
+record = 1400/425,0/15000
+info = 400/750,0/100,400/750,0/100,400/750,0/100,400/750,0/400
+stutter = !400/100!0/100,!400/100,!0/100,!400/100,!0/100,!400/100!0/100,!400/100,!0/100,!400/100,!0/100,400
+unobtainable = 400/75,0/100,400/75,0/100,400/75,0/100,400/75,0/400
+
+[pl]
+description = Poland
+ringcadence = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/500,0/500
+callwaiting = 425/150,0/150,425/150,0/4000
+; DIALRECALL - not specified
+dialrecall = 425/500,0/50
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+; 950/1400/1800 3x0.33 on 1.0 off repeated 3 times
+info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000
+; STUTTER - not specified
+stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+
+[pt]
+description = Portugal
+ringcadence = 1000,5000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/5000
+congestion = 425/200,0/200
+callwaiting = 440/300,0/10000
+dialrecall = 425/1000,0/200
+record = 1400/500,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+
+[ru]
+description = Russia / ex Soviet Union
+ringcadence = 800,3200
+dial = 425
+busy = 425/350,0/350
+ring = 425/800,0/3200
+congestion = 425/350,0/350
+callwaiting = 425/200,0/5000
+dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0
+
+[se]
+description = Sweden
+ringcadence = 1000,5000
+dial = 425
+busy = 425/250,0/250
+ring = 425/1000,0/5000
+congestion = 425/250,0/750
+callwaiting = 425/200,0/500,425/200,0/9100
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+record = 1400/500,0/15000
+info = !950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,0
+stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+; stutter = 425/320,0/20 ; Real swedish standard, not used for now
+
+[sg]
+description = Singapore
+; Singapore
+; Reference: http://www.ida.gov.sg/idaweb/doc/download/I397/ida_ts_pstn1_i4r2.pdf
+; Frequency specs are: 425 Hz +/- 20Hz; 24 Hz +/- 2Hz; modulation depth 100%; SIT +/- 50Hz
+ringcadence = 400,200,400,2000
+dial = 425
+ring = 425*24/400,0/200,425*24/400,0/2000 ; modulation should be 100%, not 90%
+busy = 425/750,0/750
+congestion = 425/250,0/250
+callwaiting = 425*24/300,0/200,425*24/300,0/3200
+stutter = !425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,425
+info = 950/330,1400/330,1800/330,0/1000 ; not currently in use acc. to reference
+dialrecall = 425*24/500,0/500,425/500,0/2500 ; unspecified in IDA reference, use repeating Holding Tone A,B
+record = 1400/500,0/15000 ; unspecified in IDA reference, use 0.5s tone every 15s
+; additionally defined in reference
+nutone = 425/2500,0/500
+intrusion = 425/250,0/2000
+warning = 425/624,0/4376 ; end of period tone, warning
+acceptance = 425/125,0/125
+holdinga = !425*24/500,!0/500 ; followed by holdingb
+holdingb = !425/500,!0/2500
+
+[th]
+description = Thailand
+ringcadence = 1000,4000
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+dial = 400*50
+busy = 400/500,0/500
+ring = 420/1000,0/5000
+congestion = 400/300,0/300
+callwaiting = 1000/400,10000/400,1000/400
+; DIALRECALL - not specified - use special dial tone instead.
+dialrecall = 400*50/400,0/100,400*50/400,0/100
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+; INFO - specified as an announcement - use special information tones instead
+info = 950/330,1400/330,1800/330
+; STUTTER - not specified
+stutter = !400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,400
+
+[uk]
+description = United Kingdom
+ringcadence = 400,200,400,2000
+; These are the official tones taken from BT SIN350. The actual tones
+; used by BT include some volume differences so sound slightly different
+; from Asterisk-generated ones.
+dial = 350+440
+; Special dial is the intermittent dial tone heard when, for example,
+; you have a divert active on the line
+specialdial = 350+440/750,440/750
+; Busy is also called "Engaged"
+busy = 400/375,0/375
+; "Congestion" is the Beep-bip engaged tone
+congestion = 400/400,0/350,400/225,0/525
+; "Special Congestion" is not used by BT very often if at all
+specialcongestion = 400/200,1004/300
+unobtainable = 400
+ring = 400+450/400,0/200,400+450/400,0/2000
+callwaiting = 400/100,0/4000
+; BT seem to use "Special Call Waiting" rather than just "Call Waiting" tones
+specialcallwaiting = 400/250,0/250,400/250,0/250,400/250,0/5000
+; "Pips" used by BT on payphones. (Sounds wrong, but this is what BT claim it
+; is and I've not used a payphone for years)
+creditexpired = 400/125,0/125
+; These two are used to confirm/reject service requests on exchanges that
+; don't do voice announcements.
+confirm = 1400
+switching = 400/200,0/400,400/2000,0/400
+; This is the three rising tones Doo-dah-dee "Special Information Tone",
+; usually followed by the BT woman saying an appropriate message.
+info = 950/330,0/15,1400/330,0/15,1800/330,0/1000
+; Not listed in SIN350
+record = 1400/500,0/60000
+stutter = 350+440/750,440/750
+
+[us]
+description = United States / North America
+ringcadence = 2000,4000
+dial = 350+440
+busy = 480+620/500,0/500
+ring = 440+480/2000,0/4000
+congestion = 480+620/250,0/250
+callwaiting = 440/300,0/10000
+dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0
+stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+
+[us-old]
+description = United States Circa 1950/ North America
+ringcadence = 2000,4000
+dial = 600*120
+busy = 500*100/500,0/500
+ring = 420*40/2000,0/4000
+congestion = 500*100/250,0/250
+callwaiting = 440/300,0/10000
+dialrecall = !600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,600*120
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0
+stutter = !600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,600*120
+
+[tw]
+description = Taiwan
+; http://nemesis.lonestar.org/reference/telecom/signaling/dialtone.html
+; http://nemesis.lonestar.org/reference/telecom/signaling/busy.html
+; http://www.iproducts.com.tw/ee/kylink/06ky-1000a.htm
+; http://www.pbx-manufacturer.com/ky120dx.htm
+; http://www.nettwerked.net/tones.txt
+; http://www.cisco.com/univercd/cc/td/doc/product/tel_pswt/vco_prod/taiw_sup/taiw2.htm
+;
+; busy tone 480+620Hz 0.5 sec. on ,0.5 sec. off
+; reorder tone 480+620Hz 0.25 sec. on,0.25 sec. off
+; ringing tone 440+480Hz 1 sec. on ,2 sec. off
+;
+ringcadence = 1000,4000
+dial = 350+440
+busy = 480+620/500,0/500
+ring = 440+480/1000,0/2000
+congestion = 480+620/250,0/250
+callwaiting = 350+440/250,0/250,350+440/250,0/3250
+dialrecall = 300/1500,0/500
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0
+stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+
+[ve]
+; Tone definition source for ve found on
+; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+description = Venezuela / South America
+ringcadence = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/250,0/250
+callwaiting = 400+450/300,0/6000
+dialrecall = 425
+record = 1400/500,0/15000
+info = !950/330,!1440/330,!1800/330,0/1000
+
+
+[za]
+description = South Africa
+; http://www.cisco.com/univercd/cc/td/doc/product/tel_pswt/vco_prod/safr_sup/saf02.htm
+; (definitions for other countries can also be found there)
+; Note, though, that South Africa uses two switch types in their network --
+; Alcatel switches -- mainly in the Western Cape, and Siemens elsewhere.
+; The former use 383+417 in dial, ringback etc. The latter use 400*33
+; I've provided both, uncomment the ones you prefer
+ringcadence = 400,200,400,2000
+; dial/ring/callwaiting for the Siemens switches:
+dial = 400*33
+ring = 400*33/400,0/200,400*33/400,0/2000
+callwaiting = 400*33/250,0/250,400*33/250,0/250,400*33/250,0/250,400*33/250,0/250
+; dial/ring/callwaiting for the Alcatel switches:
+; dial = 383+417
+; ring = 383+417/400,0/200,383+417/400,0/2000
+; callwaiting = 383+417/250,0/250,383+417/250,0/250,383+417/250,0/250,383+417/250,0/250
+congestion = 400/250,0/250
+busy = 400/500,0/500
+dialrecall = 350+440
+; XXX Not sure about the RECORDTONE
+record = 1400/500,0/10000
+info = 950/330,1400/330,1800/330,0/330
+stutter = !400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,400*33
+
Index: /freepbx/branches/ari_changes/amp_conf/astetc/rtp.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/rtp.conf (revision 1725)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/rtp.conf (revision 1725)
@@ -0,0 +1,9 @@
+;
+; RTP Configuration
+;
+[general]
+;
+; RTP start and RTP end configure start and end addresses
+;
+rtpstart=10000
+rtpend=20000
Index: /freepbx/branches/ari_changes/amp_conf/astetc/queues.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/queues.conf (revision 4993)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/queues.conf (revision 4993)
@@ -0,0 +1,20 @@
+[general]
+;
+; Global settings for call queues
+; (none exist currently)
+;
+; Note that a timeout to fail out of a queue may be passed as part of application call
+; from extensions.conf:
+; Queue(queuename|[options]|[optionalurl]|[announceoverride]|[timeout])
+; example: Queue(dave|t|||45)
+#include queues_general_additional.conf
+#include queues_custom_general.conf
+
+[default]
+;
+; Default settings for queues (currently unused)
+;
+
+#include queues_custom.conf
+#include queues_additional.conf
+#include queues_post_custom.conf
Index: /freepbx/branches/ari_changes/amp_conf/astetc/freepbx_module_admin.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/freepbx_module_admin.conf (revision 6125)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/freepbx_module_admin.conf (revision 6125)
@@ -0,0 +1,21 @@
+; This file is used to hide modules from the Module Admin
+; GUI that you do not want to have appear there. Its main
+; purpose is to keep modules that you never plan on
+; installing from appearing in the gui.
+;
+; The format is standard ini file format such as where
+; all the modules appear in a general section at the
+; top and each is listed with the word 'hidden' if it is
+; not to appear in the GUI. At this time that is the
+; only supported attribute.
+;
+; The module's 'rawname' is used for the key, so for
+; example to keep the Speed Dial and Phone book modules
+; from appearing, you would have two lines in the general
+; section that looked like:
+; [general]
+; speeddial=hidden
+; phonebook=hidden
+;
+[general]
+builtin=hidden
Index: /freepbx/branches/ari_changes/amp_conf/astetc/modules.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/modules.conf (revision 2472)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/modules.conf (revision 2472)
@@ -0,0 +1,53 @@
+;
+; Asterisk configuration file
+;
+; Module Loader configuration file
+;
+
+[modules]
+autoload=yes
+;
+; If you want, load the GTK console right away.
+; Don't load the KDE console since
+; it's not as sophisticated right now.
+;
+noload => pbx_gtkconsole.so
+;load => pbx_gtkconsole.so
+noload => pbx_kdeconsole.so
+;
+; Intercom application is obsoleted by
+; chan_oss. Don't load it.
+;
+noload => app_intercom.so
+;
+; DON'T load the chan_modem.so, as they are obsolete in * 1.2
+
+noload => chan_modem.so
+noload => chan_modem_aopen.so
+noload => chan_modem_bestdata.so
+noload => chan_modem_i4l.so
+
+; Trunkisavail is a broken module supplied by Trixbox
+noload => app_trunkisavail.so
+
+; Ensure that format_* modules are loaded before res_musiconhold
+;load => format_ogg_vorbis.so
+load => format_wav.so
+load => format_pcm.so
+load => format_au.so
+; This isn't part of 'asterisk' iteslf, it's part of asterisk-addons. If this isn't
+; installed, asterisk will fail to start. But it does need to go here for native MOH
+; to work using mp3's.
+load => format_mp3.so
+load => res_musiconhold.so
+;
+; Load either OSS or ALSA, not both
+; By default, load OSS only (automatically) and do not load ALSA
+;
+noload => chan_alsa.so
+noload => chan_oss.so
+;
+; Module names listed in "global" section will have symbols globally
+; exported to modules loaded after them.
+;
+[global]
Index: /freepbx/branches/ari_changes/amp_conf/astetc/phpagi.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/phpagi.conf (revision 8)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/phpagi.conf (revision 8)
@@ -0,0 +1,3 @@
+[festival]
+text2wave=/usr/src/festival/bin/text2wave
+tempdir=/var/lib/asterisk/sounds/tmp/
Index: /freepbx/branches/ari_changes/amp_conf/astetc/extensions_custom.conf.sample
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/extensions_custom.conf.sample (revision 5723)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/extensions_custom.conf.sample (revision 5723)
@@ -0,0 +1,28 @@
+; This file contains example extensions_custom.conf entries.
+; extensions_custom.conf should be used to include customizations
+; to AMP's Asterisk dialplan.
+
+; Extensions in AMP have access to the 'from-internal' context.
+; The context 'from-internal-custom' is included in 'from-internal' by default
+
+[from-internal-custom]
+exten => 1234,1,Playback(demo-congrats) ; extensions can dial 1234
+exten => 1234,2,Hangup()
+exten => h,1,Hangup()
+include => custom-recordme ; extensions can also dial 5678
+
+; custom-count2four,s,1 can be used as a custom target for
+; a Digital Receptionist menu or a Ring Group
+[custom-count2four]
+exten => s,1,SayDigits(1234)
+exten => s,2,Hangup
+
+; custom-recordme,5678,1 can be used as a custom target for
+; a Digital Receptionist menu or a Ring Group
+[custom-recordme]
+exten => 5678,1,Wait(2)
+exten => 5678,2,Record(/tmp/asterisk-recording:gsm)
+exten => 5678,3,Wait(2)
+exten => 5678,4,Playback(/tmp/asterisk-recording)
+exten => 5678,5,Wait(2)
+exten => 5678,6,Hangup
Index: /freepbx/branches/ari_changes/amp_conf/astetc/phone.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/phone.conf (revision 8)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/phone.conf (revision 8)
@@ -0,0 +1,47 @@
+;
+; Linux Telephony Interface
+;
+; Configuration file
+;
+[interfaces]
+;
+; Select a mode, either the phone jack provides dialtone, reads digits,
+; then starts PBX with the given extension (dialtone mode), or
+; immediately provides the PBX without reading any digits or providing
+; any dialtone (this is the immediate mode, the default). Also, you
+; can set the mode to "fxo" if you have a linejack to make it operate
+; properly.
+;
+mode=immediate
+;mode=dialtone
+;mode=fxo
+;
+; You can decide which format to use by default, "g723.1" or "slinear".
+; XXX Be careful, sometimes the card causes kernel panics when running
+; in signed linear mode for some reason... XXX
+;
+;format=slinear
+format=g723.1
+;
+; And set the echo cancellation to "off", "low", "medium", and "high".
+; This is not supported on all phones.
+;
+echocancel=medium
+;
+; You can optionally use VAD/CNG silence supression
+;
+;silencesupression=yes
+;
+; List all devices we can use. Contexts may also be specified
+;
+;context=local
+;
+; You can set txgain and rxgain for each device in the same way as context.
+; If you want to change default gain value (1.0 =~ 100%) for device, simple
+; add txgain or rxgain line before device line. But rememeber, if you change
+; volume all cards listed below will be affected by these values. You can
+; use float values (1.0, 0.5, 2.0) or percentage values (100%, 150%, 50%).
+;
+;txgain=100%
+;rxgain=1.0
+;device => /dev/phone0
Index: /freepbx/branches/ari_changes/amp_conf/astetc/manager.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/manager.conf (revision 1785)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/manager.conf (revision 1785)
@@ -0,0 +1,17 @@
+;
+; Asterisk Call Management support
+;
+[general]
+enabled = yes
+port = 5038
+bindaddr = 0.0.0.0
+
+[AMPMGRUSER]
+secret = AMPMGRPASS
+deny=0.0.0.0/0.0.0.0
+permit=127.0.0.1/255.255.255.0
+read = system,call,log,verbose,command,agent,user
+write = system,call,log,verbose,command,agent,user
+
+#include manager_additional.conf
+#include manager_custom.conf
Index: /freepbx/branches/ari_changes/amp_conf/astetc/meetme.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/meetme.conf (revision 8)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/meetme.conf (revision 8)
@@ -0,0 +1,2 @@
+[rooms]
+#include meetme_additional.conf
Index: /freepbx/branches/ari_changes/amp_conf/astetc/vm_email.inc
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/vm_email.inc (revision 1253)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/vm_email.inc (revision 1253)
@@ -0,0 +1,5 @@
+; Change the email body, variables: VM_NAME, VM_DUR, VM_MSGNUM, VM_MAILBOX, VM_CALLERID, VM_DATE
+
+emailbody=${VM_NAME},\n\nThere is a new voicemail in mailbox ${VM_MAILBOX}:\n\n\tFrom:\t${VM_CALLERID}\n\tLength:\t${VM_DUR} seconds\n\tDate:\t${VM_DATE}\n\nDial *98 to access your voicemail by phone.\nVisit http://AMPWEBADDRESS/recordings/index.php to check your voicemail with a web browser.\n
+
+
Index: /freepbx/branches/ari_changes/amp_conf/astetc/privacy.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/privacy.conf (revision 8)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/privacy.conf (revision 8)
@@ -0,0 +1,3 @@
+[general]
+
+maxretries = 2 ;How many chances the caller has to enter their number
Index: /freepbx/branches/ari_changes/amp_conf/astetc/logger.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/logger.conf (revision 8)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/logger.conf (revision 8)
@@ -0,0 +1,36 @@
+;
+; Logging Configuration
+;
+; In this file, you configure logging to files or to
+; the syslog system.
+;
+; For each file, specify what to log.
+;
+; For console logging, you set options at start of
+; Asterisk with -v for verbose and -d for debug
+; See 'asterisk -h' for more information.
+;
+; Directory for log files is configures in asterisk.conf
+; option astlogdir
+;
+[logfiles]
+;
+; Format is "filename" and then "levels" of debugging to be included:
+; debug
+; notice
+; warning
+; error
+; verbose
+;
+; Special filename "console" represents the system console
+;
+;debug => debug
+;console => notice,warning,error
+;console => notice,warning,error,debug
+;messages => notice,warning,error
+full => notice,warning,error,debug,verbose
+
+;syslog keyword : This special keyword logs to syslog facility
+;
+;syslog.local0 => notice,warning,error
+;
Index: /freepbx/branches/ari_changes/amp_conf/astetc/voicemail.conf.template
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/voicemail.conf.template (revision 8)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/voicemail.conf.template (revision 8)
@@ -0,0 +1,5 @@
+[general]
+#include vm_general.inc
+#include vm_email.inc
+[default]
+
Index: /freepbx/branches/ari_changes/amp_conf/astetc/musiconhold.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/musiconhold.conf (revision 2448)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/musiconhold.conf (revision 2448)
@@ -0,0 +1,7 @@
+;
+; Music on hold class definitions
+; This is using the new 1.2 config file format, and will not work with 1.0
+; based Asterisk systems
+;
+#include musiconhold_custom.conf
+#include musiconhold_additional.conf
Index: /freepbx/branches/ari_changes/amp_conf/astetc/freepbx_featurecodes.conf
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/freepbx_featurecodes.conf (revision 5991)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/freepbx_featurecodes.conf (revision 5991)
@@ -0,0 +1,39 @@
+; Feature Code Default Override Configuration File
+;
+; freepbx_featurecodes.conf
+;
+; This file is used to override the default featurecode values provided
+; by each FreePBX module. It will not change modified values. This can
+; be used to localize featurecodes different from those chosen by each
+; module and hardcoded into the system.
+;
+; The format is standard ini file format where each section is a raw
+; modulename and each entry under a section is the featurecode.
+;
+; You can typically see the feature codes present in a module by looking
+; at their install.php script or otherwise look at the featurecodes sql
+; table.
+;
+; As an example, the module donotdisturb, you will see some entries in
+; the install.php script that look like:
+;
+; $fcc = new featurecode('donotdisturb', 'dnd_on');
+; $fcc = new featurecode('donotdisturb', 'dnd_off');
+; $fcc = new featurecode('donotdisturb', 'dnd_toggle');
+;
+; To override those featurecodes to something *21, *22 and *23, you would
+; create standard ini entries such as:
+;
+; [donnotdisturb]
+; dnd_on = *21
+; dnd_off = *22
+; dnd_toggle = *23
+;
+; FreePBX will then begin using those entries. You will seem them displayed
+; on the Featurecode Admin page and next time a configuration is generated
+; they should be updated in the featurecode sql table.
+;
+; This ini file must remain in place since modules regularly reset such
+; codes when new versions are uploaded but the presence of this file and
+; its settings will override any such changes
+;
Index: /freepbx/branches/ari_changes/amp_conf/astetc/zapata.conf.template
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/astetc/zapata.conf.template (revision 390)
+++ /freepbx/branches/ari_changes/amp_conf/astetc/zapata.conf.template (revision 390)
@@ -0,0 +1,34 @@
+;# Flash Operator Panel will parse this file for zap trunk buttons
+;# AMPLABEL will be used for the display labels on the buttons
+
+;# %c Zap Channel number
+;# %n Line number
+;# %N Line number, but restart counter
+;# Example:
+;# ;AMPLABEL:Channel %c - Button %n
+
+;# For Zap/* buttons use the following
+;# (where x=number of buttons to dislpay)
+;# ;AMPWILDCARDLABEL(x):MyLabel
+
+
+[channels]
+language=en
+
+; include zap extensions defined in AMP
+#include zapata_additional.conf
+
+; XTDM20B Port #1,2 plugged into PSTN
+;AMPLABEL:Channel %c - Button %n
+context=from-pstn
+signalling=fxs_ks
+faxdetect=incoming
+usecallerid=yes
+echocancel=yes
+echocancelwhenbridged=no
+echotraining=800
+group=0
+channel=1-2
+
+
+
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/LICENSE
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/LICENSE (revision 7)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/LICENSE (revision 7)
@@ -0,0 +1,341 @@
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C) 19yy
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_de.cfg
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_de.cfg (revision 583)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_de.cfg (revision 583)
@@ -0,0 +1,31 @@
+; German Language configuration file
+dialing=Waehlt
+calling=Ruft $1
+incoming=Eingehendes Gespraech von $1
+parked=Gehalten auf $1
+registered=Registriert
+notregistered=Nicht registriert
+reachable=$1 erreichbar
+unreachable=$1 nicht erreichbar
+lagged=$1 verzoegert
+newold=$1 neue, $2 alte
+waitingonqueue=$1 Nutzer warten
+memberonconference=$1 Teilnehmer
+version_mismatch=Client/Server Versionsfehler!
+; client side
+clid_label=Info
+detail_title=Letzte Anrufdetails
+detail_from=Von:
+detail_to=An:
+detail_duration=Dauer:
+security_code_title=Bitte den Sicherheitscode eingeben
+btn_security_text=Eingabe Sicherheitscode
+btn_restart_text=Asterisk-Neustart
+btn_reload_text=Konfiguration neu laden
+btn_debug_text=Debug-Fenster ein/aus
+btn_help_text=Hilfefenster oeffnen
+tab_call_text=Anruf
+tab_queue_text=Warteschlange
+calls_taken_text=Angenommene Anrufe
+no_data_text=Keine Daten vorhanden
+debug_window_title=Debug-Fenster
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/UPGRADE
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/UPGRADE (revision 2500)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/UPGRADE (revision 2500)
@@ -0,0 +1,555 @@
+Notes on upgrading from an older release
+========================================
+
+o Upgrading from version .25 to .26:
+
+ New DTHML client. The directory structure on the tarball has changed
+ to accommodate the new DHTML client. The former html subdirectory was
+ renamed to flash, and the new client is inside the dhtml subdirectory.
+
+ The new DHTLM client works in a similar way to the flash client, it has
+ a couple of scripts that read the same config files than the flash
+ version to draw the buttons. It is not yet complete but it mostly works.
+
+ New parameter in op_style.cfg:
+
+ shake_pixels
+ Sets the number of pixels to shake the icon when ringing
+
+ dimm_noregister_by
+ Ammount of alpha dimm to apply when channel is not registred
+
+ dimm_lagged_by
+ Ammount of alpha dimm to apply when channel is lagged
+
+ New parameters in op_buttons.cfg:
+
+ VoiceMailExt
+ To set the extension@context to use when transferring directly
+ to voicemail
+
+ Background
+ To specify a jpg image to use as button background. You have to
+ set No_rectangle=true on that button for the background to become
+ active. The .jpg file should be of the same size as the button width
+ and height as specified in op_style.cfg
+
+ Privacy
+ If set to true, it won't display caller id or dialed number info
+ for that button.
+
+o Upgrading from version .24 to .25:
+
+ Queue buttons now must be defined as:
+
+ [QUEUE/SUPPORT]
+
+ With this new syntax, queue names with numbers
+ only as used in AMP will work without collisions.
+
+ You have to rename all queue buttons in your config
+ file to use the new syntax or they won't work.
+
+ Added some attributes to LEGENDS in op_buttons.cfg:
+
+ URL
+ TARGET
+ NO_BASE64
+
+ If set, the legend will become an hyperlink to URL@TARGET
+ If NO_BASE64 is set, the text won't be encoded
+
+ Added attributes to any button in op_buttons.cfg:
+
+ URL
+ TARGET
+
+ If set, it will add an hyperlink to the button label pointing
+ to that URL and opening it inside TARGET.
+
+ Added enable_label_background to op_style.cfg
+
+ This parameter will set the background color to the button label
+ to the same colors as the led. You can use it together with
+ "no_rectangle" in the buttons and Icon=0 and a small width, height
+ and font to fit hundreds of buttons on one screen. I was able to
+ fit 630 buttons (but only for monitoring as you don't have the led
+ or icon to transfer or hangup calls)
+
+ Added dimm (alpha) for noregistered and lagged buttons to op_style.cfg
+
+ dimm_noregister_by=20
+ dimm_lagged_by=60
+
+ Added listen_addr keyword
+ If you want op_server.pl to bind to only one IP address instead of
+ all avaialbe addresses.
+
+ Added manager_port keyword
+
+ If your manager is not running on the default port, you
+ can specify the port now for each connection with this
+ option. Example:
+
+ manager_port = 5039
+
+ Added support for astmanproxy
+
+ In op_server.cfg you have to defined the astmanproxy host & port
+ (the ip address where astmanproxy is listening) & server (the
+ same ip or name you use in astmanproxy.conf). If you
+ monitor more than one asterisk server trough astmanproxy, you
+ will have to enumerate them using the astmanproxy_server keyword.
+ Example:
+
+ astmanproxy_host = 127.0.0.1
+ astmanproxy_port = 1234
+ astmanproxy_server = 192.168.10.1
+ astmanproxy_server = 192.168.10.2
+
+ Added buttons for MEETME participants. Just specify more
+ than one position for a meetme button and they will show
+ meetme participants indiviually as they join or leave the
+ conference.
+
+ Added [QUEUEAGENT] buttons. They will be taken by static
+ or dynamic queue members automatically.
+
+ Added buttons for QUEUE positions. Just specify more than
+ one position for the button and they will show each queue
+ position instead of a queue summary
+
+
+o Upgrading from version .23 to .24:
+
+ Nothing new, just a bug fix release in op_server.pl
+
+o Upgrading from version .22 to .23:
+
+ Client and server must be upgraded or it will not work well.
+
+ Internationalization support:
+
+ Parameter ADDED to op_server.cfg:
+
+ language
+
+ To set the language to use in the general section
+ and optionally in every panel context defined.
+
+ The language files are named op_lang_XX.cfg where XX is the
+ language to use defined in the language option. Each panel
+ context might have a distinct language. The default language
+ is 'en' (english).
+
+ You can create your own language file. If you do, please
+ send it back to me so I can include it in the tarball.
+ Some strings include variables, they are represented as
+ $1 and $2. You can ommit the variables or use them as you
+ see fit.
+
+ The help file is now called help-XX.html. Be sure to add that file
+ or rename the one you have. Please contribute with translations or
+ beautifying them if you can.
+
+ Parameters REMOVED from op_style.cfg (they were moved to the language
+ configuration file):
+
+ clid_label
+ detail_title
+ detail_from
+ detail_to
+ detail_duration
+
+ Parameters ADDED to op_style.cfg (to set the button label color, the
+ button label shadow color, and the clid text color):
+
+ label_font_color = 000000
+ label_shadow_color = FFFFFF
+ clid_font_color = 00DD00
+ timer_font_color = 200070
+
+ New option for LEGENDS in op_buttons.cfg
+
+ font_color = 102030
+
+ Support for command line options. Run op_server.pl with --help to
+ see the available options
+
+
+o Upgrading from version .21 to .22:
+
+ Just replace op_server.pl that has minor bugfixes
+
+o Upgrading from version .20 to .21:
+ New configuration file: op_astdb.cfg used to monitor asterisk
+ db values and change states for a button based on them.
+
+ New option: voicemail_extension parameter in op_server.cfg.
+ If set, FOP will originate a call to that extension when
+ double clicking on the MWI icon.
+
+ The PARK buttons are now specified as PARK/XXX
+ instead of PARKXXX to make it more consistent with
+ channel naming conventions. The old name will still
+ work.
+
+ To enable agent_status (displays agent idle
+ time and refresh queue status after each
+ call). In op_server.cfg:
+
+ agent_status=1
+
+
+ If there is a background.jpg image in the same
+ directory as the swf file, it will be used as
+ the background for the panel. Resolution: 996x600
+
+ The syntax for wildcard buttons has changed, if
+ you have [SIP/*] change it to [_SIP/.*]
+ The new matching routine allows full regexps to
+ be used. To use regexps buttons start them with
+ an underscore followed by your expression.
+
+ To disable the security code, leave it blank. In
+ op_server.cfg:
+ security_code = ""
+
+ To enable timeout on transfers, you have to set the
+ transfer_timeout paramenter to op_server.cfg
+
+ You can set the reload button to perform an asterisk
+ restart if you set enable_restart to 1 in op_server.cfg
+
+o Upgrading from version .19 to .20:
+
+ You can define the server number of a button in op_buttons.cfg
+ using the 'server' directive. If you leave it empty, it will
+ default to Server=1
+
+ To monitor more than one asterisk box, just repeat the sequence of
+ connection parameters in op_server.cfg
+
+ ; Server 1
+ manager_host=1.2.3.4
+ manager_user=john
+ manager_secret=doe
+
+ ; Server 2
+ manager_host=1.2.3.5
+ manager_user=mary
+ manager_secret=poppins
+
+ To add text legends, the format is:
+
+ [LEGEND]
+ x=535
+ y=50
+ text=Conferences
+ font_size=32
+ font_family=Arial
+ use_embed_fonts=1
+
+ To add park slot buttons, the format is:
+
+ [PARK701]
+ Position=17
+ Icon=3
+ Extension=700
+ Label="Park 701"
+
+ You can specify the mailbox for a button with the mailbox parameter:
+
+ [SIP/100]
+ Position=1
+ Mailbox=100@default
+ ...
+
+ The 'old way' still works, by using the combination of Extension and
+ Voicemail_Context. I recommend you to use the new format as it is more
+ flexible (you can monitor a mailbox independant from the extension of
+ that button).
+
+
+ New directives in op_server.cfg
+
+ rename_label_wildcard
+ barge_muted
+ clid_privacy
+ show_ip
+
+o Upgrading from version .18 to .19:
+
+ In op_style.cfg there is a new paramter to confgure the
+ highlighting color for the buttons:
+
+ btn_highlight_color=ff0000
+
+o Upgrading from version .17 to .18:
+
+ The default .swf client is now the ming port. The new features
+ are available only in the ming port. The flash .swf is included
+ but it was not tested.
+
+ In op_style.cfg there are new parameters (to configure led colors):
+
+ ledcolor_ready
+ ledcolor_busy
+ ledcolor_agent
+
+ The parameter led_color is not used anymore. (It is used by the
+ flash client only, not the default ming client)
+
+ In op_server.cfg there are new options too (all commented in
+ op_server.cfg itsef):
+
+ rename_label_agentlogin
+ rename_label_callbacklogin
+ rename_to_agent_name
+ rename_queue_member
+ change_led_agent
+ clicktodial_insecure
+
+ It is possible now to draw rectangles, see op_buttons.cfg for
+ an example.
+
+ If you use click-to-dial, the button used to originate the call
+ must be specified when invoking the .swf file. The parameter used
+ is 'dial'. See index-clicktodial.html for an example.
+
+o Upgrading from version .16 to .17:
+
+ Just replace op_server.pl and your favorite .swf client. Its
+ mostly a bug fix release. The new features do not require
+ configuration changes.
+
+o Upgrading from version .15 to .16:
+
+ The help window is now a browser windows that loads help.html
+ (instead of being a flash window that loads the help.txt file)
+ So you need to put a help.html page in the same location as the
+ .swf file.
+
+ There are a couple of new parameters. In op_server.cfg
+
+ poll_voicemail
+
+ Will check for voicemail status every poll_interval seconds.
+ Remeber that poll_interval will also check for sip peers.
+
+ rename_label_agentlogin
+ rename_label_callbacklogin
+
+ Both parameters acomplish the same goal: to rename a button
+ label when an Agent logs in. One of them works with the regular
+ AgentLogin application. The other one with AgentCallbackLogin.
+ For the later, you need to have a button with the same extension
+ and context for the callback for it to work.
+
+ There is also a new parameter in op_style.cfg
+
+ enable_crypto (1 for enable, 0 for disable)
+
+ If you want to encrypt server to client messages, turn this on.
+
+o Upgrading from version .14 to .15:
+
+ The format of the configuration file is different. You have to
+ run ./convert_config_pre_14.pl in order to convert your old
+ configuration files to the new format. The conversion utility
+ must reside in the same directory as the old configuration files:
+
+ op_server.cfg
+ op_style.cfg
+ op_buttons.cfg
+
+ When you run the conversion routine, it will backup your old
+ configuration files and do its thing. Just in case, backup the
+ files yourself. The conversion program does not have extensive
+ error checking.
+
+ The barge-in functionality has changed also. You no longer need
+ an auto_conference_extension in your dialplan. The panel will
+ keep track of the conferences itself. You *do* need to add the
+ conference room numbers that must be used for barge-in. The
+ conversion routine adds the parameter, you have to modify it to
+ suit your needs. The new parameter (in op_server.cfg) is:
+
+ barge_rooms
+
+ It must have at least two rooms defined, with the format:
+ "minor-major". Those rooms must be defined in your extensions.conf
+ under the context defined by conference_context. The extension
+ number must match the meetme room number. See op_server.cfg for
+ an example.
+
+ To authenticate using MD5 to Asterisk Manager you can add the parameter
+ auth_md5=1 in op_server.cfg. It is enabled by default.
+
+ There are new parameter in op_style.cfg:
+
+ enable_animation: it will animate the phone icons when ringing.
+
+ use_embed_font: lets you choose between embed fonts or system fonts.
+
+ (1 for enable, 0 for disable)
+
+
+o Upgrading from version .13 to .14:
+
+ In Asterisk RC1, the IAX naming convention has changed. There are
+ no more brackets in IAX2 channel names. If you run RC1 (try it!)
+ you will have to name your IAX2 channels like:
+
+ IAX2/user
+
+ You will have to rename your op_buttons.cfg if you use IAX2 channels.
+
+ The code for handling the previous naming convention is still there
+ but I have not tested it. It might or might not work.
+
+ There are new elements in op_style that affects the button style:
+
+ arrow_scale
+ arrow_margin_top
+ arrow_margin_left
+
+ The above parameters indicate the size and position of a little
+ arrow that shows the 'direction' of the call.
+
+ detail_title=Last call details
+ detail_from=From:
+ detail_to=To:
+ detail_duration=Duration:
+
+ These four parameters are for setting the text displayed in the
+ detail box when you double click on the little arrow after a call
+ is made.
+
+ led_color
+
+ The color scheme for the available/busy led.
+ 0 for leds green/red. (default)
+ 1 for leds grey/green
+
+ label_shadow
+
+ You can add a shadow to the text label
+ 0 for disabling the shadow (default)
+ 1 for enabling the shadow
+
+
+ There is a new parameter in op_server.cfg:
+
+ clid_format
+
+ This mask will apply to the callerid field to format the
+ number as you see fit. Every 'x' will be replaced by a number
+ from right to left. Any other char will be preserved. Ex:
+ (xxx) xxx-xxxx
+
+o Upgrading from version .12 to .13:
+
+ For the timer to work, you need to add four new parameters to
+ op_style.cfg
+
+ timer_font_size
+ timer_font_family
+ timer_margin_top
+ timer_margin_left
+
+o Upgrading from version .11 to .12:
+
+ There are 4 new parameters in op_style.cfg for the caller id
+ display on each button.
+
+ clid_font_size
+ clid_font_family
+ clid_margin_top
+ clid_margin_left
+
+o Upgrading from version .10 to .11:
+
+ There are no new parameters in the configuration files. Your .10
+ configuration should work fine with version .11
+
+ The debug level bitmap is now different:
+
+ 1 Show Manager Events Received
+ 2 Show Commands set to Manager
+ 4 Show Flash events Received
+ 8 Show events sent to Flash Clients
+ 16 1st level Debug on op_server.pl
+ 32 2nd level Debug on op_server.pl
+ 64 3rd level Debug on op_server.pl
+
+o Upgrading from version .09 to .10:
+
+ There are 2 new parameters in op_style.cfg for a new element
+ in the toolbar (a reload button)
+
+ btn_reload_label
+ show_btn_reload
+
+
+o Upgrading from version .08 to .09:
+
+ The debug level (op_server.cfg) is now a bitmap. Now you have more
+ control of the output produced by debug. The possible values are:
+
+ 1 Show Manager Events Received
+ 2 Show Commands set to Manager
+ 4 1st level debug on op_server.pl
+ 8 2nd level debug on op_server.pl
+ 16 3rd level debug on op_server.pl
+
+ If you want full debug, set the value to 31 in op_server.cfg
+ If you want to see just the events received and sent, set it to 3 (1+2)
+
+ The fade matrix for the buttons is slightly different. Its the first
+ step towards a visual button layout configurator.
+
+o Upgrading from version .07 to .08:
+
+ The offset and size of the icons have changed. You will need to adjust
+ your op_style.cfg. Now all the icons are aproximatly the same size and
+ have the same center offset, so the margins and scale parameters will
+ match from icon to icon. New layout configurations should be simpler.
+
+ There are several new parameters in op_style.cfg, related to the
+ configurability of the toolbar. You have to add them in your current
+ configuration, if you don't do it you will not see any toolbar. The
+ parameters to add are:
+
+ clid_label=Extra Info:
+ security_label=Security Code:
+ btn_help_label=Help
+ btn_log_label=Debug
+ show_security_code=1
+ show_clid_info=2
+ show_status=3
+ show_btn_help=4
+ show_btn_debug=5
+
+ The number in show_xxx represents the order in which it is rendered. If
+ you want to hide an element of the toolbar, set it to 0.
+
+o Upgrading from version .06 to .07:
+
+ There are two new parameters in op_server.cfg:
+
+ auto_conference_extension = 900
+ conference_context = conferences
+
+ Add them to your existing configuration file. In op_server.cfg there are
+ also examples of asterisk configuration files to use the 3way auto
+ conferences.
+
+o Upgrading from previous versions:
+
+ There are three new parameters in op_sytle.cfg and a new one in
+ op_buttons.cfg. See CHANGES. Just add those parameters to your current
+ config files, and replace op_server.pl with the new one. The fixed 24
+ buttons flash movie does not support voicemail notifications. There is a
+ new index.html that scales the applet to the size of the browser window.
+ Try it and use the one you like more.
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/convert_config_pre_14.pl
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/convert_config_pre_14.pl (revision 25)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/convert_config_pre_14.pl (revision 25)
@@ -0,0 +1,147 @@
+#!/usr/bin/perl
+
+sub copy
+{
+ $oldfile = shift;
+ $newfile = shift;
+
+ open(IN, "< $oldfile") or die "can't open $oldfile: $!";
+ open(OUT, "> $newfile") or die "can't open $newfile: $!";
+
+ $blksize = (stat IN)[11] || 16384; # preferred block size?
+ while ($len = sysread IN, $buf, $blksize)
+ {
+ if (!defined $len)
+ {
+ next if $! =~ /^Interrupted/; # ^Z and fg
+ die "System read error: $!\n";
+ }
+ $offset = 0;
+ while ($len)
+ { # Handle partial writes.
+ defined($written = syswrite OUT, $buf, $len, $offset)
+ or die "System write error: $!\n";
+ $len -= $written;
+ $offset += $written;
+ }
+ }
+
+ close(IN);
+ close(OUT);
+}
+
+copy("op_buttons.cfg", "op_buttons.cfg.bak");
+copy("op_style.cfg", "op_style.cfg.bak");
+copy("op_server.cfg", "op_server.cfg.bak");
+
+open(NEWCONF, ">op_buttons.cfg.new");
+
+open(CONFIG, "< op_buttons.cfg")
+ or die("Could not open op_buttons.cfg. Aborting...");
+
+while ()
+{
+ chop;
+ $_ =~ s/^\s+//g;
+ if (/^#/ || /^;/ || /^$/) { next; } # Ignores comments and empty lines
+
+ ($channel, $position, $label, $extension, $icon, $vmail_context) =
+ split(/,/, $_);
+ $channel =~ s/\s+//g;
+ $position =~ s/\s+//g;
+ $position =~ s/;/,/g;
+ $extension =~ s/\s+//g;
+ $vmail_context =~ s/\s+//g;
+ $icon =~ s/\s+//g;
+ $label =~ s/^\s+//g;
+
+ if ($position =~ /\@/)
+ {
+ ($parte1, $parte2) = split(/\@/, $position);
+ $position = $parte1;
+ $panel_context = $parte2;
+ }
+ else
+ {
+ $panel_context = "";
+ }
+
+ if ($extension =~ /\@/)
+ {
+ ($parte1, $parte2) = split(/\@/, $extension);
+ $extension = $parte1;
+ $contexto = $parte2;
+ }
+ else
+ {
+ $contexto = "";
+ }
+
+ print NEWCONF "[$channel]\n";
+ print NEWCONF "Position=$position\n";
+ print NEWCONF "Label=$label\n";
+ print NEWCONF "Extension=$extension\n";
+ print NEWCONF "Context=$contexto\n" if ($contexto ne "");
+ print NEWCONF "Icon=$icon\n";
+ print NEWCONF "Panel_Context=$panel_context\n" if ($panel_context ne "");
+ print NEWCONF "Voicemail_Context=$vmail_context\n"
+ if ($vmail_context ne "");
+ print NEWCONF "\n";
+}
+close(CONFIG);
+close(NEWCONF);
+
+open(NEWCONF, ">op_server.cfg.new");
+print NEWCONF "[general]\n";
+open(CONFIG, ")
+{
+ $_ =~ s/\s+//g;
+ $_ =~ s/(.*)#.*/$1/g;
+ if (!/^$/)
+ {
+ my ($variable_name, $value) = split(/=/, $_);
+ $variable_name =~ tr/A-Z/a-z/;
+ $value =~ s/\"//g;
+ print NEWCONF "$variable_name=$value\n"
+ unless ($variable_name =~ /auto_conference_extension/);
+ }
+}
+print NEWCONF "auth_md5=1\n";
+print NEWCONF "barge_rooms=900-910\n";
+close(CONFIG);
+close(NEWCONF);
+
+open(NEWCONF, ">op_style.cfg.new");
+print NEWCONF "[general]\n";
+print NEWCONF "enable_animation=1\n";
+open(CONFIG, ")
+{
+ $_ =~ s/(.*)#.*/$1/g;
+ if (!/^$/)
+ {
+ my ($variable_name, $value) = split(/=/, $_);
+ $variable_name =~ s/\s+//g;
+ $variable_name =~ tr/A-Z/a-z/;
+ $value =~ s/\"//g;
+ chomp($value);
+ print NEWCONF "$variable_name=$value\n"
+ unless ( $variable_name =~ /btn_help_label/
+ || $variable_name =~ /btn_reload_label/
+ || $variable_name =~ /btn_help_label/
+ || $variable_name =~ /security_label/);
+ }
+}
+close(CONFIG);
+close(NEWCONF);
+
+copy("op_buttons.cfg.new", "op_buttons.cfg");
+copy("op_style.cfg.new", "op_style.cfg");
+copy("op_server.cfg.new", "op_server.cfg");
+
+unlink("op_buttons.cfg.new");
+unlink("op_style.cfg.new");
+unlink("op_server.cfg.new");
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_astdb.cfg
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_astdb.cfg (revision 448)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_astdb.cfg (revision 448)
@@ -0,0 +1,30 @@
+; FOP will ask for the value of the asterisk database families
+; specified between brackets. If the value is non empty, it will
+; send the commands to the flash client. Note that the family
+; is case sensitive!
+
+[dnd]
+settext=DND: ${value}
+setalpha=70
+flip=1
+fopledcolor=0x001020
+
+[cfb]
+settext=CFB: ${value}
+status=busy ; free, busy, ringing
+fopledcolor=0x102030
+
+# How it works: when the panel is first started, it will check
+# for every family defined in op_astdb.cfg between brakets. The
+# key is the channel name, as defined between brackets in op_buttons.cfg
+# If a value is found and non empty it will perform the actions
+# specified in op_astdb.cfg, those actions modify the button for
+# that channel in FOP, they are:
+#
+# settext = sets the text where the callerid is displayed
+# setlabel = sets the label for the button
+# setalpha = sets the alpha blending for the whole button (0-100)
+# flip = flips the button (1)
+# state = set the state of the led to: free, busy or ringing
+# fopledcolor = sets the led color using hex values like 0x2030a0
+
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/RECIPES
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/RECIPES (revision 448)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/RECIPES (revision 448)
@@ -0,0 +1,101 @@
+RECIPE 1
+--------
+Set DND (Do not disturb) from your dialplan and
+reflect the status on FOP:
+
+# Example on setting DND state from the dialplan
+# *78 Sets DND ON
+# *79 Sets DND OFF
+#
+# This example only sets the dnd db value and
+# signals FOP to display the status on the button
+# you might have to add a check in your stdexten
+# macro to honour the DND status
+
+in extensions.conf:
+
+exten => *78,1,UserEvent(ASTDB|Family: dnd^State: On)
+exten => *78,2,SetVar(temp=${CHANNEL})
+exten => *78,3,Cut(temp=temp,,1)
+exten => *78,4,DBPut(dnd/${temp}=On)
+exten => *78,5,Hangup
+
+exten => *79,1,UserEvent(ASTDB|Family: dnd^State: ^)
+exten => *79,2,SetVar(temp=${CHANNEL})
+exten => *79,3,Cut(temp=temp,,1)
+exten => *79,4,DBDel(dnd/${temp})
+exten => *79,5,Hangup
+
+in op_astdb.cfg:
+[dnd]
+settext=DND: ${value}
+setalpha=70
+
+RECIPE 2
+--------
+How to monitor rxfax. This is just a barebones sample, you can
+customize it for your needs. You have to Goto to the fax context
+from your dialplan:
+
+in extensions.conf:
+
+exten => fax,1,Goto(rxfax,s,1)
+
+[rxfax]
+exten => s,1,SetVar(FAXFILE=/var/spool/fax/fax-${TIMESTAMP}.tif)
+exten => s,2,SetVar(LOCALSTATIONID=My Company)
+exten => s,3,UserEvent(Newexten|Channel: FAX/FAX-${UNIQUEID}^State: Up^Uniqueid: 1234)
+exten => s,4,rxfax(${FAXFILE})
+exten => s,5,Hangup()
+exten => t,1,Hangup()
+exten => h,1,UserEvent(Hangup|Channel: FAX/FAX-${UNIQUEID}^State: Down^Uniqueid: 1234)
+
+in op_buttons.cfg:
+[FAX/FAX]
+Position=1
+Label="Fax"
+
+
+
+RECIPE 3
+--------
+How to monitor voicemailmain (users entering the voicemail application)
+You have to define a regular extensions that performs a 'Goto' to the
+vmail context (similar to the fax case above)
+
+in extensions.conf:
+
+[vmail]
+exten => s,1,SetLanguage(es)
+exten => s,2,UserEvent(Newexten|Channel: VMAIL/VMAIL-${UNIQUEID}^State: Up^Uniqueid: 4321)
+exten => s,3,VoicemailMain(${CALLERIDNUM}@internos)
+exten => t,1,Hangup
+exten => h,1,NoOp(Hangup en voicemail)
+exten => h,2,UserEvent(Hangup|Channel: VMAIL/VMAIL-${UNIQUEID}^State: Down^Uniqueid: 4321)
+exten => h,3,Hangup
+
+in op_buttons.cfg:
+
+[VMAIL/VMAIL]
+Position=1
+Label="Voicemail"
+
+RECIPE 4
+--------
+Show day/night mode based on an asterisk db value:
+
+in extensions.conf:
+
+exten => 80,1,DBPut(daymode/DAYMODE=Day);
+exten => 80,2,UserEvent(ASTDB|Family: daymode^Channel: daymode^Value: Day)
+exten => 80,3,Hangup
+;
+exten => 81,1,DBPut(daymode/DAYMODE=Night);
+exten => 81,2,UserEvent(ASTDB|Family: daymode^Channel: daymode^Value: Night)
+exten => 81,3,Hangup
+
+in op_astdb.cfg:
+
+[daymode]
+setlabel=${value}
+
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/index_amp.php
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/index_amp.php (revision 981)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/index_amp.php (revision 981)
@@ -0,0 +1,52 @@
+
+
+
+
+Flash Operator Panel
+
+
+
+
+
+
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_buttons.cfg
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_buttons.cfg (revision 6180)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_buttons.cfg (revision 6180)
@@ -0,0 +1,117 @@
+include => op_buttons_additional.cfg
+
+; use this for your customizations to FOP
+include => op_buttons_custom.cfg
+
+; Old values now auto-generated:
+
+; Queues
+;[rectangle]
+;x=492
+;y=32
+;width=491
+;height=111
+;line_width=0
+;line_color=ff1010
+;fade_color1=ff1010
+;fade_color2=a01000
+;rnd_border=2
+;alpha=20
+;layer=bottom
+
+; Conferences
+;[rectangle]
+;x=492
+;y=144
+;width=491
+;height=111
+;line_width=0
+;line_color=006666
+;fade_color1=006666
+;fade_color2=a01000
+;rnd_border=2
+;alpha=20
+;layer=bottom
+
+; Parking
+;[rectangle]
+;x=492
+;y=256
+;width=491
+;height=84
+;line_width=0
+;line_color=ffff10
+;fade_color1=ffff10
+;fade_color2=CC9933
+;rnd_border=2
+;alpha=20
+;layer=bottom
+
+
+; Trunks
+;[rectangle]
+;x=492
+;y=341
+;width=491
+;height=255
+;line_width=0
+;line_color=10ff10
+;fade_color1=10ff10
+;fade_color2=009900
+;rnd_border=2
+;alpha=20
+;layer=bottom
+
+; Extensions
+;[rectangle]
+;x=-1
+;y=32
+;width=491
+;height=564
+;line_width=0
+;line_color=1010ff
+;fade_color1=1010ff
+;fade_color2=99CCCC
+;rnd_border=2
+;alpha=10
+;layer=bottom
+
+;[LEGEND]
+;x=500
+;y=342
+;text=Trunks
+;font_size=18
+;font_family=Times New Roman
+;use_embed_fonts=1
+
+;[LEGEND]
+;x=500
+;y=144
+;text=Conferences
+;font_size=18
+;font_family=Arial
+;use_embed_fonts=1
+
+;[LEGEND]
+;x=500
+;y=256
+;text=Parking lots
+;font_size=18
+;font_family=Arial
+;use_embed_fonts=1
+
+;[LEGEND]
+;x=500
+;y=32
+;text=Queues
+;font_size=18
+;font_family=Arial
+;use_embed_fonts=1
+
+;[LEGEND]
+;x=10
+;y=32
+;text=Extensions
+;font_size=18
+;font_family=Arial
+;use_embed_fonts=1
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_style.cfg
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_style.cfg (revision 4993)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_style.cfg (revision 4993)
@@ -0,0 +1,126 @@
+[general]
+; Fade out buttons for state
+dimm_noregister_by=20
+dimm_lagged_by=60
+
+; Fade mwi when no mail is waiting
+nomail_alpha=3
+
+; If enabled, the phone will shake/ring
+enable_animation=1
+
+; Pixels to use on the ringing animtion
+shake_pixels=2
+
+; Show borders around text labels, useful for debugin style
+show_borders=0
+
+; If set, the label backdround will change to the led state color
+enable_label_background=0
+
+; set to 1 for encrypting server to client communications
+enable_crypto=1
+
+; use the font embeded in the flash movie instead of system fonts
+use_embed_fonts=1
+
+; colors for led states
+ledcolor_ready=0x00A000
+ledcolor_busy=0xA01020
+ledcolor_agent=0xD0d020
+ledcolor_paused=0x000000
+
+; Settings for the button (rectangle)
+btn_width=244
+btn_height=26
+btn_padding=2
+btn_line_width=2
+btn_line_color=F79418
+btn_fadecolor_1=ccccff
+btn_fadecolor_2=2973FF
+btn_round_border=8
+;btn_highlight_color=ff0000
+btn_highlight_color=F79418
+
+; Settings affecting the button label
+label_font_size=11
+label_font_family=Verdana ; only valid when use_embed_fonts is disabled
+label_font_color=000000
+label_shadow_color=dddddd
+label_margin_top=0
+label_margin_left=35
+label_shadow=1
+label_extent_x=10 ; If the label does not fit horizontally, increase this number
+label_extent_y=0
+
+
+; Settings affecting the button clid
+clid_font_color=00dd00
+clid_font_size=11
+clid_centered=1
+clid_font_family=Verdana
+clid_margin_top=11
+clid_margin_left=35
+
+; Settings for the timer
+timer_font_color=4000ff
+timer_font_size=11
+timer_font_family=Verdana
+timer_margin_top=11
+timer_margin_left=160
+
+; Settings for the oval led
+led_scale=60
+led_margin_top=10
+led_margin_left=20
+
+; Settings for the arrow
+arrow_scale=60
+arrow_margin_top=5
+arrow_margin_left=5
+
+; Settings for MWI Icon
+mail_margin_left=-40
+mail_margin_top=13
+mail_scale=4
+
+; Settings for icons
+icon1_margin_top=10
+icon1_margin_left=-15
+icon1_scale=6
+
+icon2_margin_top=10
+icon2_margin_left=-15
+icon2_scale=6
+
+icon3_margin_top=10
+icon3_margin_left=-15
+icon3_scale=6
+
+icon4_margin_top=10
+icon4_margin_left=-15
+icon4_scale=6
+
+icon5_margin_top=10
+icon5_margin_left=-15
+icon5_scale=6
+
+icon6_margin_top=10
+icon6_margin_left=-15
+icon6_scale=6
+
+; Settings for Status Bar at the top
+show_security_code=1
+show_clid_info=0
+show_btn_help=3
+show_btn_debug=0
+show_btn_reload=2
+show_status=4
+
+;[sip]
+; You can have different styles per panel context
+; You need to copy all the variables, they will not be
+; inherited. If you fail to include an option the flash
+; client migth hang. So, copy the complete [general]
+; section an change the header to the panel context name.
+; Then adjust the parameters to your liking.
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/README
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/README (revision 448)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/README (revision 448)
@@ -0,0 +1,189 @@
+Asterisk Flash Operator Panel
+Copyright (c) 2004 Nicolás Gudiño. All rights reserved.
+http://www.asternic.org
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+For complete and up to date documentation, please visit the web page
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+What is Flash Operator Panel?
+-----------------------------
+
+The Flash Operator panel is a 'switchboard' application for the Asterisk PBX
+system. It displays information about your Asterisk PBX activity in real
+time via a standard web browser with Flash plugin. The display and button
+layout is configurable, you can have more than a 100 buttons on the screen
+at once.
+
+You can see at a glance:
+
+ * What extensions are busy, ringing or available
+ * Who is talking and to whom (clid, context, priority)
+ * SIP registration status and reachability
+ * Meetme room status (number of users) in the room
+ * Queue status (number of users waiting)
+ * Parked extensions
+ * Call duration Timers
+ * Logged in Agents
+
+You can perform these actions:
+
+ * Hang-up a channel (double click the colored dot on the button)
+ * Transfer a call leg via drag&drop (drag the phone icon on a button to
+ another button)
+ * Originate calls via drag&drop
+ * Drag an available extension to an ongoing conversation and conference
+ the three together.
+ * Change the callerid text to something meaningfull when transferring or
+ originating a call
+ * Mute/Unmute meetme participants
+
+Requirements
+------------
+
+* You need PERL and basic knowledge on how to use Asterisk.
+
+* You have to add a user to asterisk's manager.conf and reload asterisk for
+ the changes to take effect.
+
+* For the conference buttons, message waiting indication and automatic three
+ way conferences, you need asterisk CVS-HEAD as of 5/25/2004
+
+* You need flash player versions 7 and up
+
+* You also need to define in your dialplan the conferences in a proper way
+ and in their own context, as explained in op_server.cfg comments.
+
+* If you plan to use the "Info" box to set the callerid text when
+ transferring or originating a call, you need to modify your dialplan. See
+ extensions.conf.sample
+
+* You also need to be wary, as English is not my first language.
+
+
+Install
+-------
+
+1) Copy the files in the html subdirectory to a suitable place on your web
+ server. If your web root is /var/www/html, you can create a subdirectory
+ 'panel' and copy the files there.
+
+ There are two index and two applets, try them and use the one you like
+ more. You can modify the file help.txt, just be sure to left the "text="
+ as the first part of the file. You can use some basic html tags also.
+
+2) Edit op_server.cfg and change the appropriate parameters for your setup.
+
+ "flash_dir" parameter must be the exact location of the directory where
+ the html and swf files are placed.
+
+ "web_hostname" must be the same hostname you use to access the web
+ server. Eg: if you access the web server using 'http://www.myserver.com'
+ then web_hostname must be 'www.myserver.com'. If you use an IP address
+ instead of a name, you should write that IP.
+
+ The rest of the parameters are well commented in the cfg file
+
+3) Edit op_buttons.cfg to suit your needs. The file is commented and its
+ self explanatory.
+
+4) Edit op_style.cfg to suit your needs. You can change the button size and
+ colors, icon placement and size, etc. DO NOT modify the variable names,
+ just the value after the equal sign and DO NOT use spaces. With proper
+ adjusting, you can have more than a 100 buttons on the screen.
+
+ You can change the toolbar layout by changing the number after the
+ variable show_???. Each one represents a possible element in the toolbar.
+ A value of 0 disables that element. A number represents the order in the
+ toolbar it will be displayed, number one being the leftmost part of the
+ toolbar. In the example configuration, all the toolbar elements are
+ displayed in correlative order. Eg: if you do not want to display a DEBUG
+ button, set the 'show_btn_debug' to 0. You can translate the text of the
+ toolbar in the corresponding variables.
+
+ --!! Please note !!---------------------------------------------------
+ If you want to transfer an available channel to an already connected
+ call, you have to configure your dialplan correctly and have the
+ context properly defined, if you don't do that you will experience
+ hanged channels and asterisk lockups. Thats because when you redirect
+ a call within the asterisk manager with an incorrect contexts,
+ asterisk does not handle the error gracefully.
+ --!!-----------------------------------------------------------------
+
+
+International Characters
+------------------------
+
+If you want to display foreign characters in button labels, you have to save
+the configuration file with UTF-8 encoding. To convert the file to UTF-8
+utilizing vi and the command line just perform:
+
+vi -c ":wq! ++enc=utf8" op_buttons.cfg
+
+
+Running
+-------
+
+The op_server.pl must run on the same computer as the web server
+
+When started, it writes the file 'variables.txt' to the http directory where
+the flash applet is installed with configuration data. It must have
+permissions to write to that directory.
+
+You can run it daemonized using -d as its command line argument. There are
+some example init scripts in the directory inits
+
+If you want to start the server when the machine starts, you can add a line
+similar to the following to your rc.local file (you have to replace the
+values between '*' with the ones for your system, if you do not want to run
+the op_server.pl as root, just su to that user:
+
+(cd */path/*; su *operator-user* -c */path/*op_server.pl & )
+
+Or better yet, use one of the init scripts provided.
+
+
+Security
+--------
+
+Its not meant to be secure. You should take provisions yourself, like
+limiting who can connect by means of .htaccess files, firewall rules, etc.
+There is basic encryption for messages sent from the server to the client,
+and the security code is sent with MD5. It will hide sensitive information
+from the casual observer, but its not strong enough to send credit card
+information.
+
+
+How to use it
+-------------
+
+Click the HELP button when running the Flash Operator Panel. Experiment.
+Drag icons, move your mouse around. Click and double click when the arrow
+turns into a hand.
+
+
+Support
+-------
+
+For support or submitting bug reports, features requests, etc, please
+subscribe to the mailing list by sending an empty email to
+operator_panel-subscribe@lists.house.com.ar
+
+Donations
+---------
+
+If you like the program, or have feature requests, you can contribute to the
+cause by donating via paypal. Click the donate button on the webpage. You can
+also contact me for custom works, or asterisk consultancy.
+
+Thanks!
+
+
+Credits
+-------
+
+MD5 Algorithm. Copyright:
+(C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.
+
+TEA Encryption algorithm:
+Copyright (c) 2000, Peter J Billam c/o P J B Computing, www.pjb.com.au
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/index.php
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/index.php (revision 770)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/index.php (revision 770)
@@ -0,0 +1,51 @@
+
+
+
+
+Flash Operator Panel
+
+
+
+
+
+
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_en.cfg
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_en.cfg (revision 583)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_en.cfg (revision 583)
@@ -0,0 +1,31 @@
+; Language configuration file
+dialing=Dialing
+calling=Calling $1
+incoming=Incoming call from $1
+parked=Parked on $1
+registered=Registered
+notregistered=Not registered
+reachable=Reachable $1
+unreachable=Not reachable $1
+lagged=Lagged $1
+newold=New $1, Old $2
+waitingonqueue=$1 user$2 waiting
+memberonconference=$1 participant$2
+version_mismatch=Client/Server version mismatch!
+; client side
+clid_label=Info
+detail_title=Last call details
+detail_from=From:
+detail_to=To:
+detail_duration=Duration:
+security_code_title=Please enter the security code
+btn_security_text=Open Security Code Input Box
+btn_restart_text=Restarts Asterisk
+btn_reload_text=Reloads configuration
+btn_debug_text=Open/Close Debug Window
+btn_help_text=Open Help Window
+tab_call_text=Call
+tab_queue_text=Queue
+calls_taken_text=Calls taken
+no_data_text=No data available
+debug_window_title=Debug Window
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_server.cfg
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_server.cfg (revision 6146)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_server.cfg (revision 6146)
@@ -0,0 +1,198 @@
+; NOTE
+;
+; In this config file, the following entries will be IGNORED, in
+; favour of the values set in /etc/amportal.conf (but do not
+; comment them !):
+; manager_user, manager_secret, web_hostname, security_code, flash_dir
+
+
+[general]
+use_amportal_conf=1
+; host or ip address of asterisk
+manager_host=127.0.0.1
+
+; user and secret for connecting to * manager
+manager_user=UNUSED
+manager_secret=UNUSED
+
+; The optional event_mask for filtering manager events.
+; Asterisk will send only the events you request
+; with this parameter. Possible values are:
+; on, off, system, call, log, verbose
+;event_mask=call
+;
+; You can specify many asterisk servers to
+; monitor. Just repeat the manager_host, manager_user
+; and manager_secret parameters in order. The first
+; one will be server number 1, and so on.
+;
+; manager_host=1.2.3.4
+; manager_user=john
+; manager_secret=doe
+
+; Enable MD5 auth to Asterisk manager
+auth_md5=1
+
+; port to listen for inbound flash connections, default 4445
+;listen_port=4445
+
+; hostname or ip address used to connect to the webserver where
+; the flash movie resides (just the hostname, without directories)
+; This value might be omited. In that case the flash movie will
+; try to connect to the same host as the web page.
+web_hostname=UNUSED
+
+; location of the .swf file in your disk (must reside somewhere
+; inside your web root)
+flash_dir=UNUSED
+
+; secret code for performing hangups and transfers
+security_code=UNUSED
+
+; Frequency in second to poll for sip and iax status
+poll_interval=120
+
+; Poll for voicemail status (only necesary when you access the
+; voicemail directories outside asterisk itself - eg. web access)
+poll_voicemail=1
+
+; 1 Enable automatic hangup of zombies
+; 0 Disable
+kill_zombies=0
+
+; Debug level to stdout (bitmap)
+; 1 Manager Events Received
+; 2 Manager Commands Sent
+; 4 Show Flash events Received
+; 8 Show events sent to Flash Clients
+; 16 Server 1st Debug Level
+; 32 Server 2nd Debug Level
+; 64 Server 3rd Debug Level
+;
+; Eg: to display manager events and
+; commands sent set it to 3 (1+2)
+;
+; Maximum debug level 255
+debug=0
+
+; Default language to use (op_lang_XX.cfg file)
+language=en
+
+; Context in your diaplan where you have the conferences for barge in
+; Example:
+;
+; meetme.conf
+; [rooms]
+; conf => 900
+; conf => 901
+; conf => 902
+;
+; extensions.conf
+; [conferences]
+; exten => 900,1,MeetMe(900)
+; exten => 901,1,MeetMe(901)
+; exten => 902,1,MeetMe(902)
+conference_context=conferences
+
+; Meetme room numbers to use for barge in. The room number must match
+; the extension number (see above).
+barge_rooms=900-902
+
+; When doing barge ins, you can make the 3rd party to start
+; the meetme muted, so the other parties wont notice they are
+; now being monitored
+barge_muted=1
+
+; Formatting of the callerid field
+; where 'x' is a number
+clid_format=(xxx)xxx-xxxx
+
+; If you want not to show the callerid on the buttons, set this
+; to one
+clid_privacy=0
+
+; To display the ip address of sip or iax peer inside the button
+; set this to 1
+show_ip=0
+
+; Will change the button label on AgentLogin
+rename_label_agentlogin=0
+
+; Will change the button label on Agentcallbacklogin
+rename_label_callbacklogin=0
+
+; Will rename the label for a wildcard button
+rename_label_wildcard=0
+
+; Will rename to the name specified in agents.conf
+; If disabled the renaming will be Agent/XXXX
+rename_to_agent_name=1
+
+; Will display IDLE time for agents, as well as
+; update the queue status after an agent hangs up
+; the call, so you don't need to reload to get
+; queue statistics
+agent_status=0
+
+; Will rename labels for queuemembers
+; If you use addqueuemember in your dialplan, you
+; can fake an AgengLogin event by sending it with
+; the UserEvent application. Eg:
+;
+; exten => 25,1,AddQueueMember(sales|SIP/${CALLERIDNUM}
+; exten => 25,2,UserEvent(Agentlogin|Agent: ${CALLERIDNUM});
+; exten => 25,3,Answer
+; exten => 25,4,Playback(added-to-sales-queue)
+; exten => 25,5,Hangup
+;
+; exten => 26,1,RemoveQueueMember(sales|SIP/${CALLERIDNUM})
+; exten => 26,2,UserEvent(RefreshQueue);
+; exten => 26,3,Answer
+; exten => 26,4,Playback(removed-from-sales-queue)
+; exten => 26,5,Hangup
+rename_queue_member=0
+
+; Will change the led color when the agent logs in
+; The color is configurable in op_style.cfg
+change_led_agent=1
+
+; If set to 1, you will transfer the linked channel instead
+; of the current channel when you drag the icon on a button
+reverse_transfer=0
+
+; If enabled, it will not ask forthe security code
+; when performing a click to dial
+clicktodial_insecure=1
+
+; Enable select box with absolutetimeout for the call after
+; a transfer is performed within the panel
+transfer_timeout= "0,No timeout|300,5 minutes|600,10 minutes|1200,20 minutes|2400,40 minutes|3000,50 minutes"
+
+; If set to 1, when hitting the reload button on the flash
+; client it will instead restart the 1st asterisk box
+; (For asterisk to restart you have to start it with
+; safe_asterisk, if you dont do that, asterisk will just
+; shut down)
+enable_restart = 0
+
+; If you set this parameter to your voicemailmain
+; extension@context, it will originate a call to
+; voicemailmain when double clicking on the MWI icon
+; for any button.
+voicemail_extension = *97@app-vmmain
+
+; You can have panel contexts with their own
+; button layout and configuration. The following entry
+; will create a context called sip with a different
+; security code. In the online documentation you will
+; find how to use contexts
+;
+;[sip]
+;security_code=djdjdi43
+;web_hostname=www.virtualwebserver.com
+;flash_dir=/var/www/virtualwebserver/html/panel
+;barge_rooms=800-802
+;conference_context=otherconferences
+;transfer_timeout="0,No timeout|60,1 minute"
+;voicemail_extension=1000@nine
+;language=es
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/safe_opserver
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/safe_opserver (revision 4993)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/safe_opserver (revision 4993)
@@ -0,0 +1,7 @@
+#!/usr/bin/env sh
+. /etc/amportal.conf
+
+while true; do
+$FOPWEBROOT/op_server.pl
+sleep 4
+done
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/extensions.conf.sample
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/extensions.conf.sample (revision 448)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/extensions.conf.sample (revision 448)
@@ -0,0 +1,46 @@
+#
+# Example entry for setting a callerid text comming
+# from the flash operator panel
+# You have to modify line 1 and 3 to match the channel
+# name for that extension: temp=clid should remain untouched.
+#
+# If the variable does not exist in the database
+# (if was not set by the operator panel) the line
+# 1 jumps to priority n+101, to perform a normal
+# dial without setting the CallerIDName
+
+exten => 11,1,DBget(temp=clid/SIP/11)
+exten => 11,2,SetCIDName(${temp})
+exten => 11,3,DBdel(clid/SIP/11)
+exten => 11,4,Dial(SIP/11,30,TrH)
+exten => 11,5,Hangup
+
+; gets here if there was not 'info' provided
+exten => 11,102,Dial(SIP/11,30,TrH)
+
+; busy from the dial
+exten => 11,105,Busy
+exten => 11,203,Busy
+
+
+# Example on setting DND state from the dialplan
+# *78 Sets DND ON
+# *79 Sets DND OFF
+#
+# This example only sets the dnd db value and
+# signals FOP to display the status on the button
+# you might have to add a check in your stdext
+# macro to honour the DND status
+
+exten => *78,1,UserEvent(ASTDB|Family: dnd^State: On)
+exten => *78,2,SetVar(temp=${CHANNEL})
+exten => *78,3,Cut(temp=temp,,1)
+exten => *78,4,DBPut(dnd/${temp}=On)
+exten => *78,5,Hangup
+
+exten => *79,1,UserEvent(ASTDB|Family: dnd^State: ^)
+exten => *79,2,SetVar(temp=${CHANNEL})
+exten => *79,3,Cut(temp=temp,,1)
+exten => *79,4,DBDel(dnd/${temp})
+exten => *79,5,Hangup
+
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_es.cfg
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_es.cfg (revision 583)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_es.cfg (revision 583)
@@ -0,0 +1,31 @@
+; Language configuration file
+dialing=Marcando
+calling=Llamando a $1
+incoming=Recibiendo llamada de $1
+parked=Aparcado en $1
+registered=Registrado
+notregistered=No registrado
+reachable =Alcanzable $1
+unreachable=No alcanzable $1
+lagged=Demorado $1
+newold=Nuevos $1, Viejos $2
+waitingonqueue=$1 usuario$2 esperando
+memberonconference=$1 participante$2
+version_mismatch=Version incorrecta entre Cliente y Servidor!
+; client side
+clid_label=CLID
+detail_title=Detalles ultimo llamado
+detail_from=De:
+detail_to=A:
+detail_duration=Duracion:
+security_code_title=Ingrese el codigo de seguridad
+btn_security_text=Abre ventana de ingreso de codigo
+btn_restart_text=Reinicia Asterisk
+btn_reload_text=Recarga la configuracion
+btn_debug_text=Abre/Cierra ventana de Debug
+btn_help_text=Abre ayuda
+tab_call_text=Llamada
+tab_queue_text=Cola
+calls_taken_text=Llamados atendidos
+no_data_text=No hay datos
+debug_window_title=Ventana de Debug
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/TODO
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/TODO (revision 582)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/TODO (revision 582)
@@ -0,0 +1,8 @@
+* Clean bugs
+* A way to set astdb values from the .swf
+* A way to perform any cli or manager action from the .swf
+* Go to Astricon USA with more help
+* Change user authentication and restrictions methods
+* Get some sleep
+* Make a client in JAVA
+* Make a windows systray client
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/help.txt
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/help.txt (revision 7)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/help.txt (revision 7)
@@ -0,0 +1,15 @@
+text=Before performing actions, you need to enter the security code in the box.
+
+After that you can:
+
+
+
Transfer calls: by dragging the phone icon to the destination you want
+
+Hangup calls: by double clikcing on the red button
+
+Originate calls: by dragging an available extension to an available destination
+
+Conference calls: You can add a third person to an existing conversation by dragging an available extension to a leg of an already connected call.
+
+You can also write additional information in the Info box before transferring or originating a call. If text is entered in the Info box, it will be used as the Caller ID text for any originated or transferred calls.e.g. "555-1212 Bob Jones/IBM"
+
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/FAQ
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/FAQ (revision 180)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/FAQ (revision 180)
@@ -0,0 +1,65 @@
+Flash Operator Panel frequently asked questions:
+------------------------------------------------
+
+Q0: Do I have to run a webserver?
+
+A0: Yes, its a Flash applet, it works from a web browser. You can use apache
+ or any other webserver you like. It was tested with Windows, Linux, and
+ Mac browsers. Its truly multiplatform!
+
+
+Q1: Do I need to install additional Perl modules to run op_server.pl?
+
+A1: No, it works without extra modules.
+
+
+Q2: International characters are not displayed in button labels! Is it
+ possible to use foreign characters?
+
+A2: Yes, its possible. The flash movie will display international
+ characters if you encode the text with UTF-8. You can encode the files
+ from the command line using vi:
+
+ vi -c ":wq! ++enc=utf8" op_buttons.cfg
+
+ There is a downside to this. If you originate calls from the panel, the
+ caller id will be set with the utf8 label (ilegible characters in the
+ clid)
+
+Q3: I do not want to mess with the caller id text and the asterisk database.
+ Can I disable that feature?
+
+A3: Sure, just modify op_style.cfg and set the show_clid_info variable to 0
+ (zero).
+
+
+Q4: When I try to open the webpage, the browser hangs. Whats wrong?
+
+A4: The flash movie tries to read a file named 'variables.txt' that is
+ generated by op_server.pl in the same directory where the .swf file
+ lives. If this file is corrupted or incomplete, the flash movie might
+ loop forever. Make sure you have the file in place. If its not there,
+ you might have permissions problems or you forgot to run op_server.pl.
+
+
+Q5: I changed the style op_style.cfg, but when I reload the page I don't
+ see the changes. What's up?
+
+A5: The flash movie requests the file variables.txt when it starts. If your
+ browser caches that file, you won't see the changes you made unless you
+ clear your browser cache, or maybe just requesting the variables.txt
+ file and hitting reload a couple of times.
+
+Q6: I do not like editing a text file to change a visual layout!
+
+A6: Me neither, I dream of a visual layout configuration. But I do not have
+ the time to make it happen. Maybe in the future.
+
+Q7: Where is the .fla file?
+
+A7: The server is GPL, the client is not. I do not like the .fla
+ format. I have ported the client to MING, under ming-source you will
+ find the perl source for generating a working .swf client. I will give
+ the .fla source to the first person who donates me a loaded powerbook
+ with OSX 10.3.5 and Macromedia Tools installed .
+
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/CHANGES
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/CHANGES (revision 582)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/CHANGES (revision 582)
@@ -0,0 +1,563 @@
+CHANGES to Flash Operator Panel
+
+.23
+ Jul 6 2005:
+
+ - Added Queue Position status. Just change your queue buttons to use
+ more than one position. Then, instead of having a summary button for
+ your queue you will have each position destined to the person waiting
+ in that same position on your queue. You can drag them as any other
+ button to transfer.
+
+ - Minor bugfixes
+
+ - Internationalization support. 'language' configuration directive
+ in op_server.cfg and op_lang_XX.cfg files and help_XX.html
+
+ - Support for command line parameters, start the server with --help
+ to see the list of supported options
+
+ - The web_hostname and port settings in op_server.cfg are now optional
+ If omited it will connect to the same host where the .swf resides and
+ port 4445
+
+ - Added restriction for mybutton to FOP_Popup userevent, just add the
+ (optional) Button parameter with the button position (that must be
+ set in the client's mybutton parameter)
+
+ exten => 1,1,UserEvent(FOP_Popup|URL: page.php?e=${EXTEN}^Target: top^Button: 1)
+
+ - Added font and shadow color parameters for button labels and for text
+ legends. In op_style.cfg you have 2 optional new parameters:
+
+ label_font_color = 000000
+ label_shadow_color = FFFFFF
+
+ You have to put the hex color code for each one. To change the color of a legend
+ use the parameter:
+
+ font_color = FF0000
+
+ Improved debian init script. Thanks to Tzafir Cohen.
+
+.22
+ Jun 9 2005:
+
+ - Minor bugfixes
+
+.21
+ May 29 2005:
+
+ - You can use 'transparent' as a fade_color for a button in
+ op_style.cfg. That button will only display its borders, with
+ no background color. You can use the background.jpg in creative
+ ways now.
+
+ - The restrict input parameter can be set to a channel name
+ instead of just the button possition. The restricted button
+ will be hightlithed.
+
+ - Added margintop and marginleft to the input parameters taken by
+ operator_panel.swf, to set the global margins for the swf object.
+ You can experiment by loading the .swf file directly like:
+ operator_panel.swf?margintop=20&marginleft=40
+
+ - Added voicemail_extension parameter to op_server.cfg. If set,
+ FOP will originate a call to that extension when double clicking
+ on the MWI icon.
+
+ - Added version checking between client & server
+
+ - You can disable the icon for a button by using icon=0
+
+ - Added support for Zap DND state. You have to define the 'dnd'
+ family in op_astdb.cfg
+
+ - Added astdb checks. See op_astdb.cfg and extensions.conf.sample
+ for details. You can check for day/time mode or anything that its
+ stored on asterisk db.
+
+ - Changed the PARKXXX buttons to PARK/XXX for consistency. The old
+ syntax will still work fine.
+
+ - Added monitoring for callerid instead of channel name. Use
+ [CLID/XXXXXX] as the button name in op_buttons.cfg. Its experimental
+ Commands like originates and others might not work. This kind
+ of button will work with CVS-HEAD and without using the dial 'o'
+ flag.
+
+ - Added persistent security code. It remembers your last input so
+ you don't have to complete it the next time you open FOP.
+
+ - Added Panel_Context=* to op_buttons.cfg files, with it, that entry
+ will be added to every panel context defined.
+
+ - Fixed callerid on CVS-HEAD, now it works without using
+ the dial 'o' flag
+
+ - Added agent status. It displays Idle status an its
+ timers, and refresh queue statistics after each agent
+ call. Set agent_status to 1 in op_server.cfg
+
+ - Added the option to change the led color from asterisk's
+ dialplan:
+
+ exten => 1,1,UserEvent(FOP_ledcolor|Color: 0x0000FF^State: 0)
+
+ The color can be any hex value. The State is:
+
+ 0 for available status (channel not in use)
+ 1 for busy status (channel in use)
+ 2 for agent status (channel not in use and logged in agent)
+
+ - Added the option to fire screen pops from asterisk's
+ dialplan:
+
+ exten => 1,1,UserEvent(FOP_Popup|URL: page.php?e=${EXTEN}^Target: top)
+
+ - Removed some DOWN status events that were redundant
+
+ - Added callerid name in screen popups, look at the
+ mypage.php sample in the html directory
+
+ - Initial Status is fetched from op_server.pl memory
+ instead of querying asterisk every time. Saves lots
+ of asterisk resources and speeds things up
+
+ - Fixed infobox bug when a button has multiple matches
+
+ - Background image. Just place a background.jpg file
+ in the same directory as the .swf file and it will
+ be displayed as the background. The canvas size is
+ 996x600
+
+ - REGEXP buttons. Wildcard buttons are discarded in
+ favor of the more powerful REGEXP buttons. If you
+ use wildcard buttons, replace them with a REGEXP
+ (Ex: if you have [SIP/*] change it to [_SIP/.*])
+
+ - The security code is now optional (leave it blank
+ in op_server.cfg for no security code when performing
+ actions)
+
+ - Added absolute timeout for transferred calls
+
+ - Added the option to restart asterisk instead of reload
+ the panel when hitting the reload button (enable_restart
+ in op_server.cfg)
+
+ - Reworked some button matching routines, now it should
+ support Modem[i4l], oh323/* and mISDN
+
+.20
+ Feb 22 2005:
+
+ - Added support for monitoring multiple asterisk servers
+
+ - Added wildcard buttons (IAX2/*)
+
+ - Added Park Slot buttons (PARK701)
+
+ - Barge Muted (barge_muted in op_server.cfg)
+ Will start the 3rd leg muted when barging in
+
+ - CallerID Privacy (clid_privacy in op_server.cfg)
+ Will hide the callerid number in the buttons
+
+ - Show IP address of peers (show_ip in op_server.cfg)
+ Will show the ip address of peers in their buttons
+
+ - Text legends (LEGEND primitive in op_buttons.cfg)
+
+ - Highlight of linked buttons
+
+ - Added Mailbox parameter to the button definition
+
+ - You can specify a channel name in the dial parameter
+ when using click-to-dial features, thus making it easier
+ to implement
+
+.19
+ Nov 04 2004:
+
+ - Improved call details, now there is a queue/agent information
+ window and last call details window.
+
+ - Bugfixes and visual layout tweaks. You can set the highlight color, etc.
+
+ - You can define a distinct style per panel context. See op_style.cfg
+
+ - You can include files in op_buttons.cfg with the keyword 'include =>'
+
+ - The swf client is compressed and much smaller.
+
+ - When op_server.pl recconects, it close flash clients connections to
+ force a reconnect and update on their status.
+
+.18
+ Oct 29 2004:
+
+ - Ming client is now the default, the new features work with
+ that client only.
+
+ - Led color configurable via op_style.cfg
+
+ - More label renaming options
+ (rename to agent name, rename queuememebers, etc)
+
+ - Option to change led color for logged in agents
+
+ - New click to dial feature, accesible via javascript
+ (examples in the html subdir)
+
+ - Ability to draw rectangles (see op_buttons.cfg for examples)
+
+ - Added polling for IAX presence
+
+.17
+ Oct 21 2004:
+
+ - Mostly a bug fix release. Fixed the reload button in the ming client.
+
+ - Added polling of agents status on connect
+
+ - Initial take on showing detail info on each agent
+
+.16
+ Oct 20 2004:
+
+ - Bug fixes: parked channel feature works again, ringing state too.
+
+ - Encryption is now optional, you can enable or disable it by changing
+ enable_crypto in op_style.cfg (while is this parameter in op_style
+ you may ask? well, the client has the ability to request encryption or
+ not, op_style.cfg sets not only visual parameters, but any client
+ parameter. I might change the configuration file name to op_client.cfg
+ in the future. Without encryption the client uses less CPU.
+
+ - Include the option for polling voicemail status together with sip
+ peers (poll_voicemail in op_server.cfg)
+
+ - New feature: ability to rename button labels when agents log in (
+ rename_label_agentlogin and rename_label_callbacklogin inside
+ op_server.cfg)
+
+ - New Ming client included. Ming is a library for generating .swf files
+ with wrappers in several languages. I used the perl wrapper to produce
+ a complete client. The source is included in the ming-source directory
+ The precompiled .swf file is in the html directory together with the
+ native flash client. Further development might be done exclusively in
+ Ming.
+
+ - The Ming client treats fonts a little diferent. If you enable
+ use_embed_fonts in op_style.cfg, then all the font_family values will
+ be overriden by the only embedded font in the .swf. The
+ embedded font looks uniform compared to system (or browser) fonts. You
+ *can* use any font_family available in your platform: just disable the
+ use of embed fonts and select the family for each legend in a button..
+ but you might end up with chopped text depending of the type of font
+ you use.
+
+
+.15
+ Oct 1st 2004:
+
+ - New configuration file format, there is an utility to convert
+ your old configuration to the new format. See UPGRADE, and don't
+ forget to backup first. Be sure to run the utility only with
+ old configuration files, use it once and then remove it just in
+ case.
+
+ - Fixed MessageWaiting when channel was in another context
+
+ - MD5 Authentication to Asterisk Manager (md5_auth in op_server.cfg)
+
+ - Improved context handling in general. Now you can have a security
+ code for each context, as well as meetme rooms to use for bargein.
+
+ - There is no more auto_conf_exten for finding an empty meetme for
+ barge-ins. You now have to specify the rooms available for that
+ feature with the parameter barge_rooms in op_server.cfg
+
+ - Timers are now polled from Asterisk on initial connect. (If you open
+ the panel when a conversation was going, you will see the real duration
+ of the call)
+
+ - TEA Encryption for messages sent from server to client. MD5 used for
+ hashing the password.
+
+ - Many cosmetical changes to the flash movie, as well as optimizations
+ and rewrites. There are new icons, animations, etc.
+
+ - More information available when a call is disconnected, including
+ queue status information (completed calls, average holdtime, etc)
+ To get the info double click on the arrow when a call is finished.
+
+ - Added ability to mute/unmute meetme participants by clicking on the
+ arrow.
+
+ - Supports for register/unregister/unreachable/lagged realtime events
+ for SIP and IAX peers
+
+ - You can restrict the drag and drop commands to one button only, see
+ index-restrict.html in the html subdirectory
+
+.14
+ Jul 28th 2004:
+
+ - You can run the op_server.pl dettached from the console by starting it
+ with the parameter '-d'. There are sample init scripts in the init
+ directory for redhat and debian.
+
+ - You can now drag a parked channel and transfer it to an available
+ extension just like any other transfer.
+
+ - Changed to work well with Asterisk RC1 (IAX2 channel names have changed
+ from "IAX2[ext@context]" to IAX2/ext@context. Your IAX2 channels in
+ op_buttons.cfg must be renamed if you use RC1. If you do not user RC1,
+ it might work as before, but I have not tested it.
+
+ - The flash side has a lot of improvements and changes. The fonts _sans
+ and _serif are now embedded, so they will look consistent in different
+ client computers (the tradeoff is a bigger swf file). When a channel is
+ offline, the label text will also be grayed out. When dragging an icon,
+ there is now visual feedback for the destination button. Added transparent
+ mask to the icons to make drag easier. If the client looses connection to
+ the op_server.pl, it will try to reconnect by itself (it does not work
+ on linux, its a flash bug).
+
+ - Also in the flash side, there are new elements. A little arrow showing
+ the direction of the call. And if you double click that little arrow
+ after a call is made, you can see the last call status. The new parameters
+ for op_style.cfg are described in UPGRADE
+
+ - There is a new parameter in op_server.cfg: clid_format
+ You can choose the format for the caller id to be presented in the client
+ The letter 'x' will be replaced with a number, any other text will be
+ preserved.
+
+.13
+ Jul 12th 2004:
+
+ - Fixed an annoying bug that prevented the initial status to be displayed
+ (the context for wich the panel request events was sent after the
+ status events, so they were ignored by the flash client)
+
+ - Fixed another annoying bug, the clid text was of an incorrect height,
+ and the drag and drop was erratic because of this
+
+ - Improved the parking display on the channels. Now you have a flashing
+ led and a text in the button itself
+
+ - Added a timer with the duration of a call to each button
+
+ - Still more bugs to clean on the trunk feature, please report feedback
+ on the mailing list..
+
+.12
+ Jul 5th 2004:
+
+ - Added a caller id display on the button itself
+
+ - The status of meetme and queues is queried on initial connect
+
+ - The event handling was rewriten. Now the flash client receives the
+ events for its own context (in previous versions, the events were
+ broadcasted to all clients)
+
+ - Cleaned the debug output a bit.
+
+ - You can send a USR1 signal to the server and look at some state
+ variables.
+
+
+.11
+ Jun 29th 2004:
+
+ - Added 'trunk' buttons. You can define many buttons for just one user.
+ It is not well tested, as I do not have the means to test it. It might
+ introduce bugs!
+
+ - Added CRM software integration. You can monitor a button, and when it
+ rings, a web page is requested in the url and target you specify, with
+ the clid sent as a GET variable.
+
+ - The debug option in op_server.cfg has changed. See the UPGRADE file or
+ the online documentation, or the comments on op_server.cfg
+
+.10
+ Jun 22th 2004:
+
+ - Added Contexts for the panel. You can have one server and several
+ different panels.
+
+ - Added 'Parked calls' as a status for a defined channel/button
+
+ - Fixed important bugs (MWI with contexts not working, transfers not
+ working in particular situations)
+
+ - Totally new webpage, for up to date documentation, go there
+
+ - You can send a HUP signal to op_server.pl and it will rewrite the
+ configuration files for the flash applet.
+
+ - New RELOAD button in flash, it will reread the server configuration
+ and refresh the display.
+
+.09
+ Jun 8th 2004:
+
+ - Added Message Waiting count. When passing the mouse over the envelope
+ icon the status shows the New and Old messages in that mailbox
+
+ - The server sets the CallerID when originating a call.
+
+ - Changed the debug parameter in op_server.cfg to a bitmap for greater
+ control off debug output.
+
+ - Changed the way it handles extension numbers (column number 4) in
+ op_buttons.cfg. Now you can specify the context where the extension
+ resides by using the syntax:
+
+ extension@context
+
+ If the extension is not reachable from the default context, you must
+ specify its context there.
+
+ - Changed the way it handles IAX2 channels. To specify an IAX channel you
+ have to specify its name only, without '@context', eg:
+
+ IAX2[john]
+
+
+.08
+ Jun 2nd 2004:
+
+ - Added "Extra Info" Input box
+
+ You can write any text you want in that box. When transferring or
+ originating a call, that text will be used as the callerid text for
+ that call. This way you can pass usefull information to the person
+ you are transferring the call. In order for this feature to work you
+ need to modify your dialplan ("extensions.conf"). There is an example
+ extensions.conf provided.
+
+ - Configurable layout of the toolbar
+
+ The bar at the top of the flash applet is now configurable. There are
+ new parameters in op_style.cfg to adjust the layout:
+
+ clid_label=Extra Info:
+ security_label=Security Code:
+ btn_help_label=Help
+ btn_log_label=Debug
+ show_security_code=1
+ show_clid_info=2
+ show_status=3
+ show_btn_help=4
+ show_btn_debug=5
+
+ The numbers in the show_xxx varialbes indicates the position in the
+ toolbar. If you do not want to display an element, set it to 0.
+
+ - Added HELP button and text to the flash movie
+
+ You can add a help.txt file in the same directory as the flash movie
+ on your webserver. This file will be displayed inside the help window
+ of the flash movie. You can use basic html tags. You *must* start the
+ file with the words "text="
+
+.07
+ May 19th 2004:
+
+ - Added conference buttons
+
+ The channel column (first one) in op_buttons.cfg must be named with
+ the number of the meetme conference. Eg: you have a meetme conference
+ number 901, the name of the channel must be '901'. Look at the example
+ config.
+
+ - Added tranfer of an empty channel to an already connected call and
+ automatically conference the three parties together
+
+ You have two new parameters in op_server.cfg:
+
+ auto_conference_extension
+ conference_context
+
+ Set them up and look at op_server.cfg for an example configuration for
+ asterisk in extensions.conf and meetme.conf
+
+ - Added origination of calls
+
+ You can drag an available button to another available button. This
+ will originate a call from the first channel to the extension defined
+ in the desintation button.
+
+ - More readable output log for op_server.pl
+
+.06
+ May 12th 2004
+
+ - Added voicemail notification:
+
+ There is a new parameter in op_buttons.cfg. The last column has the
+ voicemail context of the extension. You can leave it blank and it will
+ not check/show the voicemail status for that button (if its a queue
+ button or an extension without voicemail on).
+
+ You also have three new parameters in op_style.cfg:
+
+ mail_margin_left
+ mail_margin_top
+ mail_scale
+
+ to set the placement and size of the voicemail icon in the button.
+
+.05
+ Apr 17th 2004
+
+ - Fixed a typo that prevented the applet from working.
+
+.04
+ Apr 16th 2004
+
+ - Changed configuration files
+
+ The configuration files are different: in version .03 the
+ op_server.cfg had the button configuration and layout. In version
+ .04 that information is stored in op_buttons.cfg. There are 2 new
+ parameters in op_buttons.cfg, extension and icon.
+
+ op_server.cfg is now used for the parameters of the op_server
+ itself, like port to listent to, security code, debug level. You
+ don't have to modify op_server.pl anymore. All configuration is done
+ in the cfg files.
+
+ There is a new configuration file: op_style.cfg with the style and
+ size of the buttons.
+
+ - Added Queues buttons
+
+ You can display call queues on a button. Just put the name
+ of the queue as the channel name.
+
+ - Reconnection to Asterisk Manager port
+
+ The op_server now tries to reconnect to Asterisk Manager
+ port in case of disconnection. So if you restart Asterisk
+ you don't need to restart the op_server.pl, it will reconnect
+ by itself.
+
+ - Totally redone flash movie: operator_panel3.swf
+
+ The flash applet in version .04 is totally rewriten. IÏt
+ has no bitmaps. All graphics are vector based, so you can
+ change the style and sizes without loosing detail. There
+ is no timer or status on each button in order to save space.
+ You can see the status of a channel by passing the mouse
+ over the red oval.
+
+ The new op_server.pl is compatible with the flash applet
+ of previous versions (operator_panel.swf), with fixed 24
+ buttons display, timers, and scrolling info on each channel.
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_it.cfg
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_it.cfg (revision 583)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/op_lang_it.cfg (revision 583)
@@ -0,0 +1,31 @@
+; Archivio di localizzazione nazionale
+dialing=Componendo
+calling=Chiamando $1
+incoming=Chiamata in arrivo da $1
+parked=Parcheggiata su $1
+registered=Registrato
+notregistered=Non registrato
+reachable=Raggiungibile $1
+unreachable=Non raggiungibile $1
+lagged=Trattenuto $1
+newold=Attuale $1, Precedente $2
+waitingonqueue=$1 utente$2 in attesa
+memberonconference=$1 partecipanti$2
+version_mismatch=Versione disallineata tra Client e Server!
+; client side
+clid_label=Info
+detail_title=Dettagli ultima chiamata
+detail_from=Da:
+detail_to=A:
+detail_duration=Durata:
+security_code_title=Introdurre il codice di sicurezza
+btn_security_text=Attiva richiesta Codice di sicurezza
+btn_restart_text=Riavvia Asterisk
+btn_reload_text=Ricarica la configurazione
+btn_debug_text=Apre/Chiude la finestra di debug
+btn_help_text=Attiva l'aiuto online
+tab_call_text=Chiama
+tab_queue_text=Coda
+calls_taken_text=Chiamate trattenute
+no_data_text=Non ci sono dati disponibili
+debug_window_title=Finestra di debug
Index: /freepbx/branches/ari_changes/amp_conf/htdocs_panel/help_en.html
===================================================================
--- /freepbx/branches/ari_changes/amp_conf/htdocs_panel/help_en.html (revision 2615)
+++ /freepbx/branches/ari_changes/amp_conf/htdocs_panel/help_en.html (revision 2615)
@@ -0,0 +1,14 @@
+
Before performing actions, you need to enter the security code in the box.
+
+After that you can:
+
+
Transfer calls: by dragging the phone icon to the destination you want
+
Hangup calls: by double clikcing on the red button
+
Originate calls: by dragging an available extension to an available destination
+
Conference calls: You can add a third person to an existing conversation by dragging an available extension to a leg of an already connected call.
+
+You can also write additional information in the Info box before transferring
+or originating a call. If text is entered in the Info box, it will be used as
+the Caller ID text for any originated or transferred calls.e.g. "555-1212
+Bob Jones/IBM"
+