Tuesday, November 30, 2010

Asterisk billing

Asterisk generates a CDR (Call Detail Record) for each call. By default, records are stored in comma-separated value file will be created in /var/log/asterisk/cdr-csv. You can specify account codes and AMA (Automated Message Accounting) flags on a per-channel (Zaptel et al) or per-user (IAX, SIP) basis to help with accounting. Look at the top of cdr/cdr_csv.c to see the format for the records. accountcode: What account number to use: Asterisk billing account, (string, 20 characters) src: Caller*ID number (string, 80 characters) dst: Destination extension (string, 80 characters) dcontext: Destination context (string, 80 characters) clid: Caller*ID with text (80 characters) channel: Channel used (80 characters) dstchannel: Destination channel if appropriate (80 characters) lastapp: Last application if appropriate (80 characters) lastdata: Last application data (arguments) (80 characters) start: Start of call (date/time) answer: Answer of call (date/time) end: End of call (date/time) duration: Total time in system, in seconds (integer), from dial to hangup billsec: Total time call is up, in seconds (integer), from answer to hangup disposition: What happened to the call: ANSWERED, NO ANSWER, BUSY, FAILED (on some CDR backends, e.g. ODBC, these may be integers; note that more detailed info can be found in the dialplan variable $HANGUPCAUSE) amaflags: What flags to use: see amaflags: DOCUMENTATION, BILLING, IGNORE etc, specified on a per channel basis like accountcode. user field: A user-defined field, maximum 255 characters
In some cases, uniqueid is appended:
uniqueid: Unique Channel Identifier (32 characters)
Account codes and flags are set in the various channel configuration files or in the extension definition in extensions.conf.
A CDR record will not be created if you use a .call file that calls an application instead of an extension. Workaround: Use an extension that then starts the desired application. See also: Bug report 240 You can't use exten => h, if you have any hope of getting accurate billing info. Its wise to call ResetCDR(w) in your exten => h, or not use it at all. In general: As soon as transfers (or parked calls that were resumed) come into play, be it attended, blind or through SIP REFER, it is very likely that you will end up with incorrect and misleading CDR data; see bug 11093 and CDR behaviour changes in 1.4.

IAX: If you are trying to collect records on IAX to IAX calls you need to be aware that by default, IAX will attempt to transfer calls in this situation (if DTMF is not required). When the transfer is completed the call is dumped from the middle machine and thus the call detail records will report a short call time. If you want detailed records you must turn off IAX transfer (transfer=no in 1.4 or notransfer=yes in 1.2), but unless your servers are very close together, you will definitely get a latency hit from doing so.

The core of Asterisk is a threading model but a very conservative one. Only origination channels and channels executing an application have threads. The B leg of any call operate only within the same thread as the A leg and when something happens like a call transfer the channel must first be transferred to a threaded mode which often times includes a practice called channel masquerade, a process where all the internals of a channel are torn from one dynamic memory object and placed into another. A practice that was once described in the code comments as being “nasty”.

The same went for the opposite operation the thread was discarded by cloning the channel and letting the original hang-up which also required hacking the cdr structure to avoid seeing it as a new call. One will often see 3 or 4 channels up for a single call during a call transfer because of this.


For Asterisk 1.6 (or later) we might see a completely re-designed method to generate and store CDR data.

Especially for EU countries and small offices/home offices: Since the introduction of Call-By-Call (and Carrier Pre-selection) things have become both a lot cheaper and more complicated. The VoIP providers that offer IP-to-phone services add to the complexity of finding the cheapest route for a call. Finally there's the emerging ENUM system.
Implementing LCR functionality in Asterisk can be accomplished without too much effort using AGI and a mySQL backend
Application LCDial Asterisk third-party add-on. Adds LCDial() command, which is just like Dial() but looks up the dialed number in a database, to find a dial-string for that destination. cnum.info realtime Call-by-Call rates for the german market provided as ENUM service LCR tool for i4l: Collection of LCR a variety of LCR tools for Asterisk, i4l etc ZIDial Adds ZIDial() command.Low cost routing with multiple redial (on each route), also multiple redial for multiple provider.
If you have users that you have little or no contact with, or where fraudulent usage can be an issue, it might be worth looking at Pre-paid solutions. With the pre-paid model we need to access a users funds before the call is made in order to see how much cash is available for the call to be made. Next, once the call destination is known, we should start a timer to disconnect the call (or more userfriendly, interrupt the call with an announcement) and finally close the deal.

Some considerations when creating a calling card application:
take care of multiple calls using the same credentials (PIN or username) the SIP protocol does not allow for recognition of a client that was disconnected cut off the call when the credit has dropped to 0 the hard part is to correctly rate a call, e.g. attaching the correct tariff
See: Asterisk Prepaid Applications Post-paid (billing)
The Call Detail Record
Asterisk generates CDR (Call Detail Records) that contain data about which extension made or received calls to or from which number for how long. These records are generally stored in plaintext logfiles located in /var/log/asterisk/cdr-csv, but can also be stored in PostgreSQL or (with the asterisk-addon package) MySQL databases.

Rating the CDR
Since Asterisk does not know about its location or the deals the machine has with Telco providers (your PSTN line or perhaps a VoipJet, NuFone, VoicePulse or IConnectHere account), so it cannot know the cost of each call. To solve this problem the CDR's need to be 'rated'. On each combination of parameters you could technically assign a buyers price and a sellers price. This process is generally called 'rating'.


Billing the users
Only when we have neatly rated CDR's the billing process can start, but this is now a reasonably simple process of accounting all prices linked to an account code or source or destination.


Software out there
There are probably some very decent commercial rating/billing packages out there, but only very few open source ones. Most notably there is Trabas Billing, however the Trabas company seems to be taking further development on the software back from the community.

Also See: Open Source Billing Systems A2Billing is an Open-source VoIP Billing, Calling Card, Wholesale Solution. Includes LCR & LCD, rate-engine, callerID authentication, multi language/currency, Invoicing, DID management, Callback, Agents and much more! - http://www.star2billing.com/
astCDRview is an open source, licensed under GNU/GPL, lightweight, Web-based, multi-language Asterisk SQLite CDR viewer that supports multiple outgoing carriers, multiple incoming numbers, billing, an address book, and extensions - http://astcdrview.berlios.de/
AstPP is not only a web-based, user friendly billing interface for Asterisk and VOIP. It is also provides a gui editor for REALTIME devices and dialplans. AstPP is Open Source and under constant development. Prepaid, Postpaid and Calling Cards supported as well as resellers, lcr, callbacks,etc. - http://www.astpp.org/
EasyITSP, an open source ITSP/Hosted PBX solution that sits on top of Digium's open source Asterisk PBX, has been released to the public. EasyITSP allows people with little experience to easily manage and run an ITSP and/or Hosted PBX services with its small footprint and its easy to use admin and customer portals. EasyITSP is quickly gaining ground in its market with constant development of new features. To learn more and view a demo, visit http://lemens-ts.com/easyitsp
Freeside is the open-source billing, ticketing and account administration package for Internet Service Providers that now includes support for VoIP CDR rating and billing. Freeside Internet Services also offers installation, integration, configuration, migration, training, and customization services. - Freeside Internet Services Inc.

Comdif Telecom is working on billing Voip software since long time.
Our goal is to make friendly software easy to install for peoples without large skill.

-Last Cybercallshop version work on WINDOW XP/VISTA/SEVEN computer
and is able to give you a full working standalone system
able to make voip call / Cybercafe control / Wifi internet acces and have a friendly GUI for administration
to bill Calls Cybercafe and internet access .
Please visit here for howto and download links

The best new is that Cybercallshop have advanced routing system and you can use 1 to 5 cheap Voip provider of your choice
for each destination !! enjoy

Now Cyberhotel is online , Cyberhotel have a special GUI for hotel with powerfull wakeup system and many more.
All our systems are as well available to install on Linux server


The world's most popular shareware Do-It-Yourself Call Accounting Software

Call Accounting Mate is a call accounting software that can be used in institutions such as offices, hospitals, universities, and organizations that need to allocate telecom costs to various individuals, departments or cost centers. It can also be used to monitor telephone costs and productivity of each and every employee in the company. Call Accounting Mate includes more than 50 built-in reports, support for accounts codes and pin codes, multiple operator support, contacts database to quickly identify business and personal calls, client billing, flexible cost calculation, support for both incoming and outgoing calls, built-in query builder, and support for most telephone and PBX systems.


Support for asterisk is in the form of a custom CDR module which is included or directly via the mysql database. Asterisk Support forum for the software is located at Call Accounting Asterisk and more information is available at Call Accounting Site .


Call Accounting Mate designed by callaccounting.ws is the only browser based, integrated webserver solution with a built-in report writer and SQL database engine. The software has an automated task scheduler for efficient unattended reporting. * Call Accounting Mate - starts at $375

Calls Professional for Asterisk PBX - Calls Professional is a program suite, which is designed to manage call statistics and greater review in telephone network. It includes programs Asterisk CDR server and Calls Professional. CDR Server is used to collect data of calls from Asterisk PBX, user settings and program activity, Calls Professional is multi purpose / multi user program for reviewing, making print outs and export call reports. The latter possibility is to create own phone book, and includes a whole palette of other useful settings. Program packet is ideal expedient for traffic control in telephone network and control of expence in company or any other organization. CenIP VirtualServer is a full-featured platform for VoIP billing. It provides routes/customers/devices gui manager with support for prepaid, postpaid, callingcard, resellers, lcr, dids and a lot more.Prepaid & PostPaid Included. Wholesale, End-User, Calling Cards.
We provide the lowest price.
Datatex has been developing software solutions for the telephony industry since 1999.
Topaz Next Generation (TNG)

TNG is the latest Telephone Management System (TMS) or billing system released.
The Asterisk version of TNG has the following features:
Generates a call record for each part of a transferred call. (e.g. call transferred 5 times will show 5 call records with each party reported)
Calls transferred or forwarded to queues will properly show the extension the call ended up on. Transferred unanswered calls properly identified. Runs on Windows or Linux. Connects to the standard Asterisk Manager Interface. Report drill down from summary level to detailed calls. Report scheduling to email reports automatically.
This free, hosted service was designed primarily for companies who need to rate and tax their call records but may not be able to justify implementation of a full VoIP Billing and Customer Management system.

Using our service is simple. Import your rate sheets, upload your call records (file upload or SOAP API) and we will return rated records to you.


Once you get your rated file back, you can use your accounting system (QuickBooks®, etc) to send out your invoices.


We currently support Native CSV, Asterisk CSV and Sansay VSXi source file formats for postpaid environments and a SOAP API for real-time or prepaid environments.


Main features:
Online administration from any web brower
Multiple rate plans management
Multiple providers management
Multiple currencies management
Prepaid and postpaid accounts management
Reports displaying margin per destination
Real time quality statistics (ASR, ACD, PDD)
RADIUS AAA server (with RADIUS client for Asterisk)
Calling cards module:
Prepaid card batches management
Batch data export for printing
Access number rating
Card resellers management
Call back module:
Geographic area management (limitating usage of call back products)
Call back access numbers management
Classic ANI call back
Trigger call back (or DID call back): one DID per customer
Web call back (customisable web interface)
Possible integration for SMS call back
Residential, Call shops & Corporate module:
VoIP (SIP or IAX) extensions authentication
Additional services billing (Voicemail, DID, ...)
Mail alerts management (low credit for instance)
Web interface for customers
Resellers management
Wholesale A-Z and/or Termination (GSM, E1, SS7):
Optimized RADIUS server for wholesale traffic
Multiple Asterisk RADIUS clients management
Advanced call limitations per customer and/or per destination
Web interface for customers
Mobile Operators (MVNO):
International traffic routing management
Minutes plans management
SMS & Data billing
Mobile phone fleets management User friendly/presentable billing. Huge amount of functions. LiveCD available.Operates a hosted billing system services for ITSPs and ISPs. Also offered as standalone product. Used in two deployments by Bell Canada, and designed to be very flexible.
Phonyx IP/ISDN-PBX based on Asterisk and opensips, Czech Web-Interface (for admins even for customers), Czech sounds, specialised for czech VoIP providers, High-availability support, Skype channel support, Prepaid/Postpaid support.

Asterisk CDR Reports made Simple

   * Windows desktop application for Asterisk CDR Reports and Queue Reports
   * Interactive drag & drop interface for designing Asterisk reports  
   * BI Pivot Reports - Drag & Drop  
   * No installation (does not req. db or web server) or maintenance required

SipTar Billing Server - SipTar Billing For Asterisk - SipTar Billing Server is a powerful billing and routing system, SipTar Callshop, SMS, Callback, Text To Speech Message and Calling Card System.

Screenshots of SipTar Billing Server in Action: http://www.microsyslabs.com/siptarbilling.html

Free routing+billing telephony system based on Asterisk. 
Has built-in reseller/wholesale, pc2phone, calling cards, call-center, pbx, virtual pbx etc applications.
User-friendly web interface (including visual dialplan editor). Flexible routing(LCR, code length, time of the week, priorities...).
Financial Module allows to automatically block companies or users basing on their balance.
Mailing and SMS subsystems.
Role-based permission system for web access. Web portals for users and companies.
Accounting(payments, invoices, refills, etc) is tightly coupled with billing/routing.
Real-time billing with support of multiple currencies.
Web interface allows to configure the system, check dialplan, view active calls, view statistics with selected granularity, export CDR to files, etc. No need to edit config files!
High performance. Written in C/C++/Java.Super Technologies has been in VOIP service since 1999. Was the first company
in the world to offer a DID number on a IP Device similar to vonage, and got an award
on the service from Internet Telephony Magazine and in the Internet Wrold Show in 2001.
With this experience and software in use for over 5 years now, they are now offering
the same software that they use for their own services, to the world to offer billing to their clients.

They have software for VONAGE Type Service, Net2phone and ip centrex services, sample are all working and live
you can check them out on www.phoneopia.com www.superphoneunlimited.com and ip-pabx.com


Web site for software is www.supertec.com/solutions/


Call Accounting For Resellers

   * Software as a Service, a complete WEB 2.0 application
   * Recurring profitable monthly income
   * High performance Low cost, from US$0.20 per extension per month
   * A fully managed alternative to hardware and software
   * View reports via any web browser
   * International coverage and support
   * Online help and training
   * Low cost Data Buffers, alternatively use our FREE SOFTWARE for ASTERISK and all traditional PBX.


How Does TelcoTwo2.0 Help You?
Simple: We built TelcoTwo2.0 Call Accounting to make it easy for you and your customers to manage phone use and infrastructure.


What Is TelcoTwo2.0?
TelcoTwo2.0 Call Accounting is an Internet application and business tool, designed to benefit the reseller and the customer in ways that old fashioned stand alone call accounting software just cannot do.


TelcoTwo2.0 Call Accounting is designed to generate profit for the reseller in all aspects of your service. Least Cost Routing, equipment provision, and elevating the customer's perception of your company through unique "your brand" options.
When You Use TelcoTwo2.0, you will:


   * create a healthy monthly income
   * improve your company image through branding
   * manage your customer environment more professionally
   * have a new and unique sales proposition to grow your customer base


Who Is TelcoTwo2.0 For?


   * PBX resellers
   * Telecoms Consultants
   * Large Businesses
   * Small Businesses

http://www.vidanetwork.net - Powerful billing system that allows you to setup Pre-pay, Post-pay, metered Flat Rate billing plans for residential and Cooperations. Their scalable network management and billing system integrate multiple Asterisk call servers together to work like one system. The web-based solution has 4 levels of access interfaces: Administrator, Operator, VPBX admin, and End User Portal. It also offers Hosted Virtual PBX and Virtual Call Center solutions for offering services to business users. If you already have a Web page and a payment gateway account (like Paypal), they can also integrate them with their software, so that your customers could sign up your services from your web page and make payments online.

If you are service providers and would like to offer services to residential and business users, this is definitely the right solution for you!

vspPanel - Asterisk Control Panel - vspPanel is a full control panel system for the Asterisk PBX and has been designed as a "VSP In A Box" solution, much like it's counterpart CPanel in the Web Hosting Industry vspPanel allows users to control all aspects of their Asterisk server from a web interface, along with call routing, adding of providers and customers and most importantly billing (Both Pre-paid and Post-Paid). vspPanel does not require any additional hardware and is already begining to be offered in Data Centers around the world as a VOIP Provider Hosted Solution, however it may be installed on any Linux Server along with Asterisk. vspPanel has been designed to allow any entreprenuer to become a VSP and offer VSP services to their customers and alleviates the need for an operator to be a "technical guru".

Current Status: Free Beta Available.


Screenshots of vspPanel in Action: http://www.vsppanel.com/screenshots.html

YakaVOIP is a fully integrated, open-source -NOT FREE-, web-based, user friendly billing and administration interface for Asterisk and Voice-Over-IP. It leverages existing open-source technologies (Joomla, PHP, MySQL) and ecompases 3rd party payment gateways like Paypal, MyGate, Moneybookers & Google Pay.

Asterisk and Virtual Private Servers

Virtual private servers (VPS) or Virtual dedicated servers are a form of virtualization that splits a single physical server into multiple virtual servers. The practice of partitioning a single server so that it appeared as multiple servers has long been common practice in mainframe computers, but has seen a resurgence lately with the development of software such as VMware, User-mode Linux, FreeVPS, Virtuozzo and Xen. (From Wikipedia)

At the outset, possible issues arise out of inability or difficulty in sharing timing source (required for MeetMe). http://www.linode.com/forums/archive/o_t/t_1981/running_asterisk_pbx_on_linode.html has some suggestions


Monday, November 29, 2010

Asterisk Prepaid Applications

Some considerations when creating a calling card application:
take care of multiple calls using the same credentials (PIN or username) the SIP protocol does not allow for recognition of a client that was disconnected cut off the call when the credit has dropped to 0 the hard part is to correctly rate a call, e.g. attaching the correct tariff
Software supporting prepaid applications:
AreskiCC CallingCard Application - Now renamed to A2Billing, commercially supported by Star2Billing S.L. licensed under the AGPL A2Billing: Class 5 switch and PSTN / VoIP Billing application for Telecom Companies, VoIP Providers and Calling card companies licensed under the AGPL AstBill - Billing, Routing and Management software for Asterisk and MySQL - AstBill is open source software licensed under the GPL astCDRview - astCDRview is an open source, licensed under GNU/GPL, lightweight, Web-based, multi-language Asterisk SQLite CDR viewer that supports multiple outgoing carriers, multiple incoming numbers, billing, an address book, and extensions Asterisk Prepaid Billing Software by Alepo - Real time billing for large scale Asterisk deployments Asterisk-Phonecard: Asterisk Phonecard - Prepaid calling card application based on MySQL AsterBill: Prepaid application for VoIP Provider and calling card - Asterisk ASTCC: Asterisk Calling Card Solution - Another approach for full features Pre-paid Calling Card application based on AGI ASTCCSQLite: ASTCC variant that doesn't need Mysql, just DBD::SQLite Asterisk addon rate-engine: An alternative billing solution from Trollphone Asterisk callingcard Asterisk Billing Software from Aradial - Aradial Asterisk Calling Cards AradialVOIP CTC Pre-Paid Calling Card Systems - CTC Connections Pre-Paid Calling Card Systems are designed to deliver the highest quality communication experience and includes simplified management tools for both the service provider and end user. Asterisk Prepaid Calling Cards ControlAP Pro (wifi hotspot billing software) now includes a web based interface for printing calling cards in multiple formats. Asterisk integration and built-in database server. Supports most database servers and platforms. Calling Card Management and Billing Software - Software for prepaid printed and virtual calling cards. Hosted or On-premise. EasyITSP Open Source ITSP and Hosted PBX software for Asterisk Modified-Prepaid-Application - not maintained anymore - resulted into the CallingCard Applications MOR Advanced Billing solution. Retail/Wholesale. For VoIP providers/Call Centers/etc. LiveCD available. Homepage Diamondcard Prepaid Calling Card Platform Asterisk bounty callingcard to MySQL - resulted into the CallingCard Applications CallingCard Applications - Set of 3 Applications to get your Calling Card business up and running (PrepaidAuthCID, PrepaidAuthPIN and PrepaidCall) Calling Card and affordable prepaid billing platfom - Real time billing for large scale Asterisk deployments. Demo available now. Prepay, Postpay, Flat Rate or Flat Rate w/ Bucket billing system and IP-Centrex management platform - Scalable archetachture with one management platform that manages multiple Asterisks. Easy to scale from small to big deployment. PaypalAstcc - Paypal script for Astcc, use Astcc with Paypal to create a complete prepaid solution. YakaVOIP - YakaVOIP is a fully integrated, open-source -NOT FREE-, web-based, user friendly billing and administration interface for Asterisk and Voice-Over-IP. It leverages existing open-source technologies and ecompases 3rd party payment gateways like Paypal, MyGate, Moneybookers & Google Pay. IPerbill VoIP Billing Solutions : Calling cards, Call back, Call shops, Residential, Corporate, Wholesale A-Z and/or Termination (GSM, E1, SS7), Mobile Operators (MVNO) Phonyx: IP/ISDN-PBX based on Asterisk and opensips, Czech Web-Interface (for admins even for customers), Czech sounds, specialised for czech VoIP providers, High-availability support, Skype channel support, Prepaid/Postpaid support.
iPhonica, LLCiPhonica's Class4 IN & Prepaid Platform is a Modular, Flexible & Scalable system that enables Broadband Voice Operators and International Telephony Service Providers (ITSP) to deploy a variety of Telephony Services efficiently & cost effectively.
Inspiration Software Ltd iSoftSwitch has come with Integretion of Asterisk & GnuGK.Radius enable billing & authentication.
http://www.beavoipprovider.com
http://www.supertec.com/solutions
http://www.e-softbilling.com E-Softbilling now supports 1.4.X Pros and Cons of CC apps from people who are using them in production
(Please add your comments)

Tuesday, November 23, 2010

Asterisk 1.8 released

November 22 2010

Finally, there is a new long-term support (LTS) version of the open source Asterisk VoIP IP-PBX system. Asterisk 1.8 is being released this week, marking the first new LTS for Asterisk since the 1.4 release in 2006.

The new Asterisk 1.8 release is intended to be supported for at least the next four years, as part of a new support model the project first discussed earlier this year. Asterisk 1.8 packs in a long list of new features, including reverse call display and integrated Google Voice support.

Monday, November 22, 2010

Realtime Database Configuration

Two modes: Static and Realtime

The ARA realtime mode is used to dynamically load and update objects. This mode is used in the SIP and IAX2 channels, as well as in the voicemail system. For SIP and IAX2 this is similar to the v1.0 MYSQL_FRIENDS functionality. With the ARA, we now support many more databases for dynamic configuration of phones.

The ARA static mode is used to load configuration files. For the Asterisk modules that read configurations, there's no difference between a static file in the file system, like extensions.conf, and a configuration loaded from a database.

You just have to always make sure the var_metric values are properly set and ordered as you expect in your database server if you're using the static mode with ARA (either sequentially or with the same var_metric value for everybody).

If you have an option that depends on another one in a given configuration file (i.e, 'musiconhold' depending on 'agent' from agents.conf) but their var_metric are not sequential you'll probably get default values being assigned for those options instead of the desired ones. You can still use the same var_metric for all entries in your DB, just make sure the entries are recorded in an order that does not break the option dependency.

That doesn't happen when you use a static file in the file system. Although this might be interpreted as a bug or limitation, it is not.

Asterisk Accounting Configuration

Asterisk Accounting Configuration

Compilation and installation:

The module will be compiled as long as the radiusclient-ng library has been detected on your system.

By default FreeRADIUS server will log all accounting requests into /usr/local/var/log/radius/radacct directory in form of plain text files. The server will create one file for each hostname in the directory. The following example shows how the log files look like.

Asterisk now generates Call Detail Records. See /include/asterisk/cdr.h for all the fields which are recorded. By default, records in comma separated values will be created in /var/log/asterisk/cdr-csv.

The configuration file for cdr_radius.so module is /etc/asterisk/cdr.conf

This is where you can set CDR related parameters as well as the path to the radiusclient-ng library configuration file.

Sunday, November 21, 2010

DAHDI Compatible Hardware

Analog Interfaces

o TDM400P - The TDM400P is a half-length PCI 2.2-compliant card that supports FXS and FXO station interfaces for connecting analog telephones and analog POTS lines through a PC.
o TDM800P - The TDM800P is a half-length PCI 2.2-compliant, 8 port card using Digium's VoiceBus technology that supports FXS and FXO station interfaces for connecting analog telephones and analog POTS lines through a PC.
o TDM2400P - The TDM2400P is a full-length PCI 2.2-compliant card for connecting analog telephones and analog POTS lines through a PC. It supports a combination of up to 6 FXS and/or FXO modules for a total of 24 lines.

Digital Interfaces

o TE412P - The TE412P offers an on-board DSP-based echo cancellation module. It supports E1, T1, and J1 environments and is selectable on a per-card or per-port basis.
o TE410P - The TE410P improves performance and scalability through bus mastering architecture. It supports E1, T1, and J1 environments and is selectable on a per-card or per-port basis.
o TE407P - The TE407P offers an on-board DSP-based echo cancellation module. It supports E1, T1, and J1 environments and is selectable on a per-card or per-port basis.
o TE405P - The TE405P improves performance and scalability through bus mastering architecture. It supports both E1, T1, J1 environments and is selectable on a per-card or per-port basis.
o TE212P - The TE212P offers an on-board DSP-based echo cancellation module. It supports E1, T1, and J1 environments and is selectable on a per-card or per-port basis.
o TE210P - The TE210P improves performance and scalability through bus mastering architecture. It supports E1, T1, and J1 environments and is selectable on a per-card or per-port basis.
o TE207P - The TE207P offers an on-board DSP-based echo cancellation module. It supports E1, T1, and J1 environments and is selectable on a per-card or per-port basis.
o TE205P - The TE205P improves performance and scalability through bus mastering architecture. It supports both E1 and T1/J1 environments and is selectable on a per-card or per-port basis.
o TE120P - The TE120P is a single span, selectable T1, E1, or J1 card and utilizes Digium's VoiceBusTMtechnology. It supports both voice and data modes.
o TE110P - The TE110P brings a high-performance, cost-effective, and flexible single span togglable T1, E1, J1 interface to the Digium line-up of telephony interface devices.

The Full Power Of AEL

The Full Power of AEL

A newcomer to Asterisk will look at the above constructs and descriptions, and ask, "Where's the string manipulation functions?", "Where's all the cool operators that other languages have to offer?", etc.

The answer is that the rich capabilities of Asterisk are made available through AEL, via:

* Applications: See Asterisk - documentation of application commands

* Functions: Functions were implemented inside ${ .. } variable references, and supply many useful capabilities.

* Expressions: An expression evaluation engine handles items wrapped inside $[...]. This includes some string manipulation facilities, arithmetic expressions, etc.

* Application Gateway Interface: Asterisk can fork external processes that communicate via pipe. AGI applications can be written in any language. Very powerful applications can be added this way.

* Variables: Channels of communication have variables associated with them, and asterisk provides some global variables. These can be manipulated and/or consulted by the above mechanisms.

The Realtime Switch

The realtime switch is more than a port of functionality in v1.0 to the new architecture, this is a new feature of Asterisk based on the ARA. The realtime switch lets your Asterisk server do database lookups of extensions in realtime from your dial plan. You can have many Asterisk servers sharing a dynamically updated dial plan in real time with this solution.

Note that this switch does NOT support Caller ID matching, only extension name or pattern matching.

Saturday, November 20, 2010

The IVR Clinic with Allison Smith


The 15 Commandments of IVR


Commandment #10: “Name Your Company Something That Needs No Special Instruction”
Thanks for your patience while I took a break from the “15 Commandments of IVR” Series to report from AstriCon – I’m back with the latest and one of the most pivotal installments of the series: Commandment #10: “Name Your Company Something That Needs No Special Instruction” – however, I acknowledge that it’s probably too late to implement this.


By the time they hire me to voice their IVR’s, the opportunity has likely already passed to talk to people about why they’ve named their companies what they have — many late nights have already been spent and reams of legal yellow paper consumed brainstorming about how to make their company’s name as unique and significant as possible; coming up with imaginative and innovative ways of spelling ordinary words to make them their own, riffing on existing words and modifying them to make them unique, or building a name from several different components which represent their company; a name which will identify their organization and which will no doubt look great on letterhead, website, booth banners, and business cards.


I am astounded at how many companies have me re-do their opening messages — after having voiced them to the best of my ability — due to mis-pronouncing their company’s name. I’ve even had clients — at the outset of a job — send an intonation file of *them* voicing the company’s name — or they schedule a pre-recording call with me — because (in their words): “The company name is kind of tricky — in fact, almost everybody gets it wrong! But it’s really important that you voice the opening message with the definitive pronunciation..”


I’ll say! I would think it would be crucially important that *everyone* say it in the “definitive way”, from the receptionist to the UPS delivery man to the people manning your booth at a trade show to someone seeing it for the first time. While it’s important that your company name be unforgettable, distinct, not apt to be confused with your competitor’s, and easy to recall, it should also probably not need a special tutorial on how to pronounce it properly.


I’ll add even further to that list, and suggest that not only is it important that your company’s name visually *look* impressive — I submit that it is crucial that the name actually “scans” to ear effectively. You will be *saying* your company’s name probably more than people will see it in its written form. You need to take into consideration how easy the name will be to “hear” — and to “say” — and imagine someone hearing your company name for the first time and immediately turning to type it into a web browser — wouldn’t you want to ensure that they hit *your* website every time; that your site is as easy as possible to find, and that the complex and unique spelling of your company’s name isn’t snagging their search?


Suppose — after much late-night work shopping, you’ve decided to call your exciting, innovative company “Ignyshyn”. Cool, right? A play on the word “Ignition”! It sounds just the same as the mainstream word, but it’s spelled so……imaginatively!


I’m officially begging you to re-think any and all clever liberties taken with the spelling of words to snazz up your company’s moniker. It needlessly complicates the name, and makes it almost impossible for customers to find you — especially if you don’t take measures to have your voice talent painstakingly spell out the website (“Go to Ignysyn.com. That’s I-G-N-Y-S-H-Y-N, dot com”) — which a surprising number of clients don’t have me do.) Do they just presume people are going to magically type in “Newtrality.com” or “Akwizytion.com”? Chances are, (especially if the difference in spelling isn’t pointed out in the copy), they’ll follow what their ear is telling them and go to “Neutrality.com” and “Acquisition.com”, experience brief confusion, and move on to your competition.


Especially vexing are company names with numerals written in — some seem straightforward (“Innov8?) but even those also frequently come with instructions to point out the play on words (“but try not to really say ‘eight’ at the end..”) and others are just plain befuddling (“4ti2de” — “fortitude”. Gah!)
I recently read the opening greeting for a company who decided to make their name an amalgam of the founder’s first names — similar to “Johareth, Inc.” Given no guidance as to the pronunciation, I went for the pronunciation: “Joe-HARR-eth.” Turns out, the names the title is based on were actually Johann, Harry, and Ethan — it would be more like “Yo-HAIR-eeeth.” But how was I to know? And how will the customers of Johareth possibly know? Especially without the “tutorial” on how to pronounce it.


I submit some very strong cases in point: some of the most recognizable and profitable companies operating today do so under names which have practically no chance of mis-interpretation, mis-pronunciation, and have zero confusion associated with the names: Apple, Microsoft, IBM, Google. Nobody’s inclined to say “Ibbim” instead of saying the individual letters of “IBM”; I would wager that there has never been an operator at Microsoft who had to correct a customer calling in: “Well, actually, it’s pronounced “MY-crow-soft”, not “MEEK-ro-soft…”, and even at first glance at the nonsensical, entirely manufactured word “Google”, you instantly knew how to say it, and I’ll bet you never slipped and called it “Goggle” (or typed in “Gewgal” as a search term.)


Simplicity, accessibility, and a turnkey approach to naming your company is key — the name should speak for itself. It should stand alone. It should not be an unpronounceable in-joke, and it only benefits you and your company if you create as simple a path as possible for customers to find you.
Join me here in about two week’s time, where I will continue with #11 in our series: “Don’t Go Overboard With Niceties” – a common occurrence in on-hold systems and IVR prompts alike – you can have too much of a good thing!


Thanks for reading!


If you've been on hold, listened to the public airwaves, participated in an automated phone survey, you've probably heard Allison Smith. Allison can deliver sound files with incredibly fast turnaround, and a 100% satisfaction guarantee.

Asterisk settings Broadvoice distinctive ring support

Broadvoice offers the option to have two alternative numbers associated with your primary number. Unfortunately incoming calls to those alternative numbers are directed at your primary number. The only way to distinguish them from the primary number is that the SIP Alert-Info header is set with a distinctive ring sequence. For a default Broadvoice configuration, the Alert-Info header will look like for the first alternate, and for the second alternate.

Historically, it's been difficult to get at that information, but the latest versions of Asterisk (1.2 and above) now provide the needed support.

I have Broadvoice configured so that the primary number is a local number (2015551234), the first alternative is a toll-free number (8885551234), and the second alternative is a number in the UK which I give to relatives (441715551234). The intention is that callers to the local number get a menu, callers to the toll-free number go straight to voicemail (so the minutes don't get burnt up), and callers from the UK ring every phone in the house because they rarely make "international" calls, so it must be important. Also, Asterisk does not answer incoming calls from the UK until somebody picks up.

This is the configuration used with an unpatched Asterisk@Home 2.1/2.2 and Asterisk Management Portal 1.10.010 to make this happen. Your mileage may vary with other configurations, but the principals remain the same.

Get Broadvoice working for the primary number. There are plenty of pages elsewhere describing this. Note that with current versions of Asterisk no patches are required. There's no point in proceeding until you have a basic Broadvoice configuration working. Using Asterisk@Home, create incoming routes for each of your alternative numbers, in this case 8885551234 and 441715551234, and define how you want the calls processed. Create an incoming route that will be used to process calls to the main number. For this example it's called bv-main (Note that this cannot be your Broadvoice main number, although you enter it on the same field as the number). Again, define how you want calls to the main number to be processed. Now go back to the incoming route for your main number (in this case 2015551234), and change the processing to Custom-App, and set the value to custom-bv-incoming,s,1 We're almost done - resist the temptation to apply the changes, as there's one more change to make. Now you need to open a shell window on your Asterisk box, and use your favorite text editor edit the file /etc/asterisk/extensions_custom.conf, and add the following lines to the end of the file. Note that the extensions need to be modified to match the incoming numbers defined previously:- [custom-bv-incoming]
exten => s,1,Noop(Alert-Info -> '${SIP_HEADER(Alert-Info)}')
exten => s,2,Gotoif($["${SIP_HEADER(Alert-Info)}" = ""]?ext-did,8885551234,1)
exten => s,3,Gotoif($["${SIP_HEADER(Alert-Info)}" = ""]?ext-did,441715551234,1)
; Note the priority in the next line is set to 2
exten => s,4,Goto(ext-did,bv-main,2)
That's it - You're done - you can tell Asterisk to apply the changes.
This configuration should survive any configuration changes made through Asterisk Management Portal, but it may not survive version updates as it makes certain assumptions about how AMP organizes configuration files.

BroadVoice/Asterisk configuration help is also available at the BroadVoice Support Forum.

Announcing the 2010 Digium Innovation Award Winner



Honoree uses Asterisk®, the open source telephony platform, to Connect 100,000 Legacy Phone Users Supporting 7 Million Calls for Portuguese Institutions


The 2010 Digium Innovation Award is ITCenter, located in Santa Maria da Feira, Portugal. Since 2003, ITCenter has differentiated itself by specializing in innovative solutions based on open source technologies, including Asterisk. ITCenter used Asterisk to interconnect all 48 Portuguese Higher Education & Scientific Institutions, integrating 220 existing legacy PBX systems and enabling VoIP communications between all the institutions without any change to its existing phone systems. The implementation provides centralized management and billing of both the legacy and new system, while supporting an infrastructure that processes approximately 7 million monthly calls.


Applications for the 2011 Digium Innovation Award are now being accepted.  Apply now.

Asterisk queue_log on MySQL

History
Backlinks...Asterisk cdr mysqlMysqlQueueMetricsThe table format and behavior of realtime queue_log storage has changed for Asterisk 1.8.

More details: https://issues.asterisk.org/view.php?id=17082


Current SVN trunk (Revision 94782 from 12-26-07 09:54), supports storage of queue_log in your RT engine.

More details: http://bugs.digium.com/view.php?id=11625


PLEASE NOTE: The table structure referenced in the above link is no longer accurate (use the structure below). The time column must be char(10), or you will receive an error like this: WARNING[25801] res_config_mysql.c: Realtime table general@queue_log: column 'time' cannot be type 'int(10) unsigned' (need char)
Sample queue_log table for MySQL: CREATE TABLE `queue_log` ( `id` int(10) unsigned NOT NULL auto_increment, `time` char(10) unsigned default NULL, `callid` varchar(32) NOT NULL default '', `queuename` varchar(32) NOT NULL default '', `agent` varchar(32) NOT NULL default '', `event` varchar(32) NOT NULL default '', `data` varchar(255) NOT NULL default '', PRIMARY KEY (`id`));
queue_log message consists of 2 parts: constant and variable. Constant part is split among corresponding fields (time, callid, queuename, agent, event). Variable data is stored in `data` field as is, so you'll meet '|' there. Example: mysql> select * from queue_log;+----+------------+--------------+------------------+-------+------------+-------+| id | time | callid | queuename | agent | event | data |+----+------------+--------------+------------------+-------+------------+-------+| 1 | 1198356717 | 1198356717.0 | voipsolutions.ru | NONE | ENTERQUEUE | |serg || 2 | 1198356719 | 1198356717.0 | voipsolutions.ru | NONE | ABANDON | 1|1|2 |+----+------------+--------------+------------------+-------+------------+-------+

to activate RT logging add a line like


to your extconfig.conf

PLEASE NOTE: Asterisk 1.6 changed the way that the extconfig.conf file references the MySQL database. You now specify the context name in extconfig.conf, NOT the database name.

So, you've got queue_log created from realtime, but it doesn't make easy parsing. Here's a new table definition and some SQL code to pretty it up for you. Note that locking etc. aren't done - we run this job at night when we know there aren't any calls anyway, but your situation may differ. CREATE TABLE IF NOT EXISTS `queue_log_processed` (
`recid` int(10) unsigned NOT NULL auto_increment,
`origid` int(10) unsigned NOT NULL,
`callid` varchar(32) NOT NULL default '',
`queuename` varchar(32) NOT NULL default '',
`agentdev` varchar(32) NOT NULL,
`event` varchar(32) NOT NULL default '',
`data1` varchar(128) NOT NULL,
`data2` varchar(128) NOT NULL,
`data3` varchar(128) NOT NULL,
`datetime` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY  (`recid`),
KEY `data1` (`data1`),
KEY `data2` (`data2`),
KEY `data3` (`data3`),
KEY `event` (`event`),
KEY `queuename` (`queuename`),
KEY `callid` (`callid`),
KEY `datetime` (`datetime`),
KEY `agentdev` (`agentdev`),
KEY `origid` (`origid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
And then we run the following SQL:
INSERT INTO queue_log_processed (origid,callid,queuename,agentdev,event,data1,data2,data3,datetime)
SELECT id,callid,queue_log.queuename,agent,event,
   replace(substring(substring_index(`data`, '|', 1), length(substring_index(`data`, '|', 1 - 1)) + 1), '|', ''),
   replace(substring(substring_index(`data`, '|', 2), length(substring_index(`data`, '|', 2 - 1)) + 1), '|', ''),
   replace(substring(substring_index(`data`, '|', 3), length(substring_index(`data`, '|', 3 - 1)) + 1), '|', ''),
   FROM_UNIXTIME(time) FROM queue_log;
DELETE FROM queue_log;
I put the above example into a MYSQL trigger to allow an 2 realtime stats tables to be generated. If you are utilizing a version of MYSQL that supports triggers, I would suggest utilizing this for creating realtime tables. I then created web pages to monitor the queues.
CREATE TABLE IF NOT EXISTS `queue_log` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `time` varchar(40) default NULL,
 `callid` varchar(32) NOT NULL default '',
 `queuename` varchar(32) NOT NULL default '',
 `agent` varchar(32) NOT NULL default '',
 `event` varchar(32) NOT NULL default '',
 `data` varchar(255) NOT NULL default '',
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Triggers `queue_log`
--
DROP TRIGGER IF EXISTS `aasterisk`.`bi_queueEvents`;
DELIMITER //
CREATE TRIGGER `aasterisk`.`bi_queueEvents` BEFORE INSERT ON `aasterisk`.`queue_log`
FOR EACH ROW BEGIN
 IF NEW.event = 'ADDMEMBER' THEN
   INSERT INTO agent_status (agentId,agentStatus,timestamp,callid) VALUES (NEW.agent,'READY',FROM_UNIXTIME(NEW.time),NULL) ON DUPLICATE KEY UPDATE agentStatus = "READY", timestamp = FROM_UNIXTIME(NEW.time), callid = NULL; 
 ELSEIF NEW.event = 'REMOVEMEMBER' THEN
   INSERT INTO `agent_status` (agentId,agentStatus,timestamp,callid) VALUES (NEW.agent,'LOGGEDOUT',FROM_UNIXTIME(NEW.time),NULL) ON DUPLICATE KEY UPDATE agentStatus = "LOGGEDOUT", timestamp = FROM_UNIXTIME(NEW.time), callid = NULL;
 ELSEIF NEW.event = 'PAUSE' THEN
   INSERT INTO agent_status (agentId,agentStatus,timestamp,callid) VALUES (NEW.agent,'PAUSE',FROM_UNIXTIME(NEW.time),NULL) ON DUPLICATE KEY UPDATE agentStatus = "PAUSE", timestamp = FROM_UNIXTIME(NEW.time), callid = NULL; 
 ELSEIF NEW.event = 'UNPAUSE' THEN
   INSERT INTO `agent_status` (agentId,agentStatus,timestamp,callid) VALUES (NEW.agent,'READY',FROM_UNIXTIME(NEW.time),NULL) ON DUPLICATE KEY UPDATE agentStatus = "READY", timestamp = FROM_UNIXTIME(NEW.time), callid = NULL;
 ELSEIF NEW.event = 'ENTERQUEUE' THEN
   REPLACE INTO `call_status` VALUES 
(NEW.callid,
replace(replace(substring(substring_index(NEW.data, '|', 2), length(substring_index(New.data, '|', 2 - 1)) + 1), '|', '')
, '|', ''),
'inQue',
FROM_UNIXTIME(NEW.time),
NEW.queuename,
'',
'',
'',
'',
0);
 ELSEIF NEW.event = 'CONNECT' THEN
   UPDATE `call_status` SET 
callid = NEW.callid,
status = NEW.event,
timestamp = FROM_UNIXTIME(NEW.time),
queue = NEW.queuename,
holdtime = replace(substring(substring_index(NEW.data, '|', 1), length(substring_index(NEW.data, '|', 1 - 1)) + 1), '|', '')
where callid = NEW.callid;
INSERT INTO agent_status (agentId,agentStatus,timestamp,callid) VALUES
(NEW.agent,NEW.event,
FROM_UNIXTIME(NEW.time),
NEW.callid)
ON DUPLICATE KEY UPDATE
agentStatus = NEW.event,
timestamp = FROM_UNIXTIME(NEW.time),
callid = NEW.callid;
 ELSEIF NEW.event in ('COMPLETECALLER','COMPLETEAGENT') THEN
   UPDATE `call_status` SET 
callid = NEW.callid,
status = NEW.event,
timestamp = FROM_UNIXTIME(NEW.time),
queue = NEW.queuename,
originalPosition = replace(substring(substring_index(NEW.data, '|', 3), length(substring_index(NEW.data, '|', 3 - 1)) + 1), '|', ''),
holdtime = replace(substring(substring_index(NEW.data, '|', 1), length(substring_index(NEW.data, '|', 1 - 1)) + 1), '|', ''),
callduration = replace(substring(substring_index(NEW.data, '|', 2), length(substring_index(NEW.data, '|', 2 - 1)) + 1), '|', '')
where callid = NEW.callid;
INSERT INTO agent_status (agentId,agentStatus,timestamp,callid) VALUES (NEW.agent,NEW.event,FROM_UNIXTIME(NEW.time),NULL) ON DUPLICATE KEY UPDATE agentStatus = "READY", timestamp = FROM_UNIXTIME(NEW.time), callid = NULL;
 ELSEIF NEW.event in ('TRANSFER') THEN
   UPDATE `call_status` SET 
callid = NEW.callid,
status = NEW.event,
timestamp = FROM_UNIXTIME(NEW.time),
queue = NEW.queuename,
holdtime = replace(substring(substring_index(NEW.data, '|', 1), length(substring_index(NEW.data, '|', 1 - 1)) + 1), '|', ''),
callduration = replace(substring(substring_index(NEW.data, '|', 3), length(substring_index(NEW.data, '|', 3 - 1)) + 1), '|', '')
where callid = NEW.callid;
INSERT INTO agent_status (agentId,agentStatus,timestamp,callid) VALUES
(NEW.agent,'READY',FROM_UNIXTIME(NEW.time),NULL)
ON DUPLICATE KEY UPDATE
agentStatus = "READY",
timestamp = FROM_UNIXTIME(NEW.time),
callid = NULL;
 ELSEIF NEW.event in ('ABANDON','EXITEMPTY') THEN 
   UPDATE `call_status` SET 
callid = NEW.callid,
status = NEW.event,
timestamp = FROM_UNIXTIME(NEW.time),
queue = NEW.queuename,
position = replace(substring(substring_index(NEW.data, '|', 1), length(substring_index(NEW.data, '|', 1 - 1)) + 1), '|', ''),
originalPosition = replace(substring(substring_index(NEW.data, '|', 2), length(substring_index(NEW.data, '|', 2 - 1)) + 1), '|', ''),
holdtime = replace(substring(substring_index(NEW.data, '|', 3), length(substring_index(NEW.data, '|', 3 - 1)) + 1), '|', '')
where callid = NEW.callid;
 ELSEIF NEW.event = 'EXITWITHKEY'THEN 
   UPDATE `call_status` SET 
callid = NEW.callid,
status = NEW.event,
timestamp = FROM_UNIXTIME(NEW.time),
queue = NEW.queuename,
position = replace(substring(substring_index(NEW.data, '|', 2), length(substring_index(NEW.data, '|', 2 - 1)) + 1), '|', ''),
keyPressed = replace(substring(substring_index(NEW.data, '|', 1), length(substring_index(NEW.data, '|', 1 - 1)) + 1), '|', '')
where callid = NEW.callid;
 ELSEIF NEW.event = 'EXITWITHTIMEOUT' THEN 
   UPDATE `call_status` SET 
callid = NEW.callid,
status = NEW.event,
timestamp = FROM_UNIXTIME(NEW.time),
queue = NEW.queuename,
position = replace(substring(substring_index(NEW.data, '|', 1), length(substring_index(NEW.data, '|', 1 - 1)) + 1), '|', '')
where callid = NEW.callid;
END IF;
 END
//
DELIMITER ;


And adding the 2 realtime tables 'call_status' and 'agent_status'

CREATE TABLE IF NOT EXISTS `agent_status` (
 `agentId` varchar(40) NOT NULL default '',
 `agentName` varchar(40) default NULL,
 `agentStatus` varchar(30) default NULL,
 `timestamp` timestamp NULL default NULL,
 `callid` double(18,6) unsigned default '0.000000',
 `queue` varchar(20) default NULL,
 PRIMARY KEY  (`agentId`),
 KEY `agentName` (`agentName`),
 KEY `agentStatus` (`agentStatus`,`timestamp`,`callid`),
 KEY `queue` (`queue`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `call_status` (
 `callId` double(18,6) NOT NULL,
 `callerId` varchar(13) NOT NULL,
 `status` varchar(30) NOT NULL,
 `timestamp` timestamp NULL default NULL,
 `queue` varchar(25) NOT NULL,
 `position` varchar(11) NOT NULL,
 `originalPosition` varchar(11) NOT NULL,
 `holdtime` varchar(11) NOT NULL,
 `keyPressed` varchar(11) NOT NULL,
 `callduration` int(11) NOT NULL,
 PRIMARY KEY  (`callId`),
 KEY `callerId` (`callerId`),
 KEY `status` (`status`),
 KEY `timestamp` (`timestamp`),
 KEY `queue` (`queue`),
 KEY `position` (`position`,`originalPosition`,`holdtime`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;



Asterisk does not currently support dumping queue_log data straight to a MySQL table.

There is the alternative of changing ast_queue_log function in logger.c to log via mysql. The following link describes a patch that does exactly this: http://forums.digium.com/viewtopic.php?t=4073


An alternative is to use the commercial QueueMetrics version:
Within the package QueueMetrics there is a script called queueLoader.pl that can upload queueu_log data to MySQL.


There are a number of ways for data to be uploaded into MySQL. If we plan to use the real-time monitoring features, we must upload data to MySQL as events happen; if we don't, uploading data in batches will suffice.


The script can be found under WEB-INF/mysql-utils and is called queueLoader.pl (a working installation of Perl5 with MySQL DBI is required to run this script).


To use the script, edit it with a text editor in order to set the MySQL server, database, user and password, like in the following example:


my $mysql_host = "10.10.3.5";
my $mysql_db = "log_code";
my $mysql_user = "queuemetrics";
my $mysql_pass = "javadude";


After the database is set, you can upload a whole file (in this case, /my/queue_log) to a partition named â€Å“P01â€? by running:
perl queueLoader.pl /my/queue_log P01

You can also upload your queue_log file to partition â€Å“P02â€? as it is being written by issuing:
tail -n 0 -f /var/log/asterisk/queue_log | queueLoader.pl - P02
(do not forget the minus sign, separated by spaces, before the partition name!).

A number of other techniques are available to upload a queue_log file as it is being written to a MySQL table, you may also want to consider the Unix named pipe method reported here: http://lists.digium.com/pipermail/asterisk-users/2005-July/109892.html


In the future, we expect Asterisk to be able to write queue_log data straight to a database via ODBC, so these tricks will not be necessary anymore.

Friday, November 19, 2010

Asterisk PBX 1.8.0 Release Candidate 2 Now Available

This release candidate contains fixes since the last beta release as reported by the community. A sampling of the changes in this release candidate include:

 * Add slin16 support for format_wav (new wav16 file extension)
(Closes issue #15029. Reported, patched by andrew. Tested by Qwell)

 * Fixes a bug in manager.c where the default configuration values weren't reset
when the manager configuration was reloaded.
(Closes issue #17917. Reported by lmadsen. Patched by bbryant)

 * Various fixes for the calendar modules.
(Patched by Jan Kalab.
Reviewboard: https://reviewboard.asterisk.org/r/880/
Closes issue #17877. Review: https://reviewboard.asterisk.org/r/916/
Closes issue #17776. Review: https://reviewboard.asterisk.org/r/921/)

 * Add CHANNEL(checkhangup) to check whether a channel is in the process of
being hung up.
(Closes issue #17652. Reported, patched by kobaz)

 * Fix a bug with MeetMe where after announcing the amount of time left in a
conference, if music on hold was playing, it doesn't restart.
(Closes issue #17408, Reported, patched by sysreq)

 * Fix interoperability problems with session timer behavior in Asterisk.
(Closes issue #17005. Reported by alexcarey. Patched by dvossel)

 * Rate limit calls to fsync() to 1 per second after astdb updates. Astdb was
determined to be one of the most significant bottlenecks in SIP registration
processing. This patch improved the speed of an astdb load test by 50000%
(yes, Fifty-Thousand Percent). On this particular load test setup, this
doubled the number of SIP registrations the server could handle.
(Review: https://reviewboard.asterisk.org/r/825/)

 * Don't clear the username from a realtime database when a registration
expires. Non-realtime chan_sip does not clear the username from memory when a
registration expiries so realtime probably shouldn't either.
(Closes issue #17551. Reported, patched by: ricardolandim. Patched by
mnicholson)

 * Don't hang up a call on an SRTP unprotect failure. Also make it more obvious
when there is an issue en/decrypting.
(Closes issue #17563. Reported by Alexcr. Patched by sfritsch. Tested by
twilson)

 * Many more issues. This is a significant upgrade over Asterisk 1.8.0 beta 5!

A short list of available features includes:

 * Secure RTP
* IPv6 Support in the SIP channel driver
* Connected Party Identification Support
* Calendaring Integration
* A new call logging system, Channel Event Logging (CEL)
* Distributed Device State using Jabber/XMPP PubSub
* Call Completion Supplementary Services support
* Advice of Charge support
* Much, much more!

A full list of new features can be found in the CHANGES file.

http://svn.digium.com/view/asterisk/branches/1.8/CHANGES?view=checkout

For a full list of changes in the current release candidate, please see the ChangeLog:

http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.8.0-rc2

Thank you for your continued support of Asterisk!

WiFi Alliance Announces Five WiFi Direct Certified Products

 
WiFi Alliance Announces Five WiFi Direct Certified Products The WiFi Alliance has announced the first five devices to receive its new WiFi Direct certification. Called a “game-changing advance for WiFi technology” by ABI Research analyst Victoria Fodale, WiFi Direct enables two or several devices—such as mobile phones, keyboards, printers, cameras, gaming devices and headphones—to connect, with or without the availability of a WiFi hotspot. The devices can then sync for gaming, or to pass content such as photos, music and applications. "We designed WiFi Direct to unleash a wide variety of applications which require device connections, but do not need the Internet or even a traditional network," said Edgar Figueroa, CEO of the WiFi Alliance, in a statement. "WiFi Direct empowers users to connect devices — when, where and how they want to, and our certification program delivers products that work well together, regardless of the brand."  

The five WiFi Certified WiFi Direct products, the Alliance announced, are:  

• Atheros XSPAN Dual-band 802.11n PCIe mini card;  

• Broadcom Dual-Band 802.11n 2x2 MiMO PCIe half mini card;  

• Intel Centrino Advanced-N 6200 WiFi card;  

• Ralink MIMObility 802.11 2x2 PCIe half mini card; and  

• Realtek HM92C00 PCIe mini card. 

WiFi Direct technology is intended for both consumer and enterprise devices, as it offers the latest WPA2 security protections. It also works with older WiFi Certified devices, offers a “push-button” setup and—unlike the limited distances of Bluetooth technology—works at a typical WiFi range.

Asterisk 1.8 PBX Now Available For Download

 
Asterisk 1.8 PBX Now Available For Download

The Asterisk Development Team is proud to announce the release of Asterisk 1.8. This release is available for immediate download at
http://downloads.asterisk.org/pub/telephony/asterisk/

Asterisk 1.8 is the next major release series of Asterisk. It will be a Long Term Support (LTS) release, similar to Asterisk 1.4. For more information about support time lines for Asterisk releases, see the Asterisk versions page.

http://www.asterisk.org/asterisk-versions

The release of Asterisk 1.8.0 would not have been possible without the support and contributions of the community. Since Asterisk 1.6.2, we've had over 500 reporters, more than 300 testers and greater than 200 developers contributed to this release.

You can find a summary of the work involved with the 1.8.0 release in the summary:

http://svn.asterisk.org/svn/asterisk/tags/1.8.0/asterisk-1.8.0-summary.txt

A short list of available features includes:

    * Secure RTP
    * IPv6 Support in the SIP channel driver
    * Connected Party Identification Support
    * Calendaring Integration
    * A new call logging system, Channel Event Logging (CEL)
    * Distributed Device State using Jabber/XMPP PubSub
    * Call Completion Supplementary Services support
    * Advice of Charge support
    * Much, much more!

A full list of new features can be found in the CHANGES file.

http://svn.digium.com/view/asterisk/branches/1.8/CHANGES?view=markup

For a full list of changes in the current release candidate, please see the
ChangeLog:

http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.8.0

Thank you for your continued support of Asterisk!

Asterisk PBX 1.8 Release Candidate 4 Now Available

The Asterisk Development Team has announced the fourth release candidate of Asterisk  1.8 ,this release candidate is available for immediate download at
http://downloads.asterisk.org/pub/telephony/asterisk/

With all currently 1.8.0 blocker issues closed, Asterisk 1.8.0-rc4 is currently scheduled to become the full release of Asterisk 1.8.0.

All interested users of Asterisk are encouraged to participate in the 1.8 testing process. Please report any issues found to the issue tracker, https://issues.asterisk.org/. It is also very useful to see successful test
reports. Please post those to the asterisk-dev mailing list.

Asterisk 1.8 is the next major release series of Asterisk. It will be a Long Term Support (LTS) release, similar to Asterisk 1.4. For more information about support time lines for Asterisk releases, see the Asterisk versions page.

http://www.asterisk.org/asterisk-versions

With the availability of the Asterisk 1.8.0 release candidates, the binary add-on modules for Asterisk produced by Digium have been updated with new versions that are compatible with Asterisk 1.8. The availability of these
modules will assist with the testing of Asterisk 1.8.0 in a wider variety of situations.

This release candidate contains fixes since the last release candidate as reported by the community. A sampling of the changes in this release candidate include:

 * Additional fixups in chan_gtalk that allow outbound calls to both Google
Talk and Google Voice recipients. Adds new chan_gtalk enhancements externip
and stunaddr.
(Closes issue #13971. Patched by dvossel)

 * Resolve manager crash issue.
(Closes issue #17994. Reported by vrban. Patchd by dvossel)

 * Documentation updates for sample configuration files.
(Closes issues #18107, #18101. Reported, patched by lathama, lmadsen)

 * Resolve issue where faxdetect would only detect the first fax call in
chan_dahdi.
(Closes issue #18116. Reported by seandarcy. Patched by rmudgett)

 * Resolve issue where a channel that is setup and torn down *very* quickly may not have the right call disposition or ${DIALSTATUS}.
(Closes issue #16946. Reported by davidw. Review
https://reviewboard.asterisk.org/r/740/)

 * Set TCLASS field of IPv6 header when SIP QoS options are set.
(Closes issue #18099. Reported by jamesnet. Patched by dvossel)

 * Resolve issue where Asterisk could crash on shutdown when using SRTP.
(Closes issue #18085. Reported by st. Patched by twilson)

 * Fix issue where peers host port would be lost on a SIP reload.
(Closes issue #18135. Reported, tested by lmadsen. Patched by dvossel)

A short list of available features includes:

  * Secure RTP
* IPv6 Support in the SIP channel driver
* Connected Party Identification Support
* Calendaring Integration
* A new call logging system, Channel Event Logging (CEL)
* Distributed Device State using Jabber/XMPP PubSub
* Call Completion Supplementary Services support
* Advice of Charge support
* Much, much more!

A full list of new features can be found in the CHANGES file.

http://svn.digium.com/view/asterisk/branches/1.8/CHANGES?view=markup

For a full list of changes in the current release candidate, please see the ChangeLog:

http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.8.0-rc4

Thank you for your continued support of Asterisk!

Asterisk PBX 1.6.2.12 Now Available

Asterisk PBX 1.6.2.12 Now Available
Asterisk PBX 1.6.2.12 Now Available The Asterisk Development Team has announced the release of Asterisk PBX 1.6.2.12.  This release is available for immediate download at
http://downloads.asterisk.org/pub/telephony/asterisk/

The release of Asterisk 1.6.2.12 resolves several issues reported by the community and would have not been possible without your participation.

The following is a sample of the issues resolved in this release:

    * Fix issue where DNID does not get cleared on a new call when using
      immediate=yes with ISDN signaling.
      (Closes issue #17568. Reported by wuwu. Patched by rmudgett)
    * Several updates to res_config_ldap.
      (Closes issue #13573. Reported by navkumar. Patched by navkumar, bencer.
      Tested by suretec)
    * Prevent loss of Caller ID information set on local channel after masquerade.
      (Closes issue #17138. Reported by kobaz, patched by jpeeler)
    * Fix SIP peers memory leak.
      (Closes issue #17774. Reported, patched by kkm)
    * Add Danish support to say.conf.sample
      (Closes issue #17836. Reported, patched by RoadKill)
    * Ensure SSRC is changed when media source is changed to resolve audio delay.
      (Closes issue #17404. Reported, tested by sdolloff. Patched by jpeeler)
    * Only do magic pickup when notifycid is enabled.
      A new way of doing BLF pickup was introduced into 1.6.2. This feature adds a
      call-id value into the XML of a SIP_NOTIFY message sent to alert a subscriber
      that a device is ringing. This option should only be enabled when the new
      'notifycid' option is set, but this was not the case. Instead the call-id
      value was included for every RINGING Notify message, which caused a
      regression for people who used other methods for call pickup.
      (Closes issue #17633. Reported, patched by urosh. Patched by dvossel.
      Tested by: dvossel, urosh, okrief, alecdavis)

Grandstream Networks Adds HD Audio to the GXP2120 and GXP2100 IP Phones

 
Grandstream Networks Adds HD Audio to the GXP2120 and GXP2100 IP Phones   The Grandstream GXP2120 and GXP2100 desktop enterprise SIP telephones were designed for SMBs, and they feature business productivity applications, HD audio quality, and broad SIP interoperability with third-party SIP platforms and devices. Grandstream Networks, maker of IP voice/video telephony and video surveillance solutions, has expanded HD telephony solutions for SMB enterprise communications. The company added to its GXP series of desktop enterprise SIP telephones with the new Grandstream GXP2120 and GXP2100 models. According to Grandstream, the new models were designed to “meet the need for crystal clear voice communication.” The new GXP models come packed with business productivity features and applications, HD audio quality, and broad SIP interoperability with third-party SIP platforms and devices.

The introduction of the GXP2120 and GXP2100 telephones add to Grandstream’s HD voice solutions, joining the recently introduced GXP2110. “Multiple desktop model options give SMBs the ability to select a HD telephone that best fits their size and need,” states a Grandstream Networks press release submitted to EH Publishing.

Thursday, November 18, 2010

New Fedora Linux Project Leader Comes From Asterisk Roots

 
New Fedora Linux Project Leader Comes From Asterisk Roots The Red Hat sponsored Fedora Linux community is an open source development effort that includes a diverse set of participants. At the top of the organizational chart for Fedora is the position of Fedora Project Leader, the person tasked with overseeing the general direction and operations of the Fedora project.

In July, Jared Smith took up the position of Fedora Project Leader, replacing the outgoing Paul Frields. Among Smith's first jobs is to guide the development and release of the upcoming Fedora 14 Linux distribution, set for general availability in November. Building the Fedora Linux distribution is one of Smith's key responsibilities as Fedora Project Leader, but it involves more than just pure code.


"A lot of the time we think of Fedora as just the bits and the bytes that we burn on a CD every six months and ship out, but Fedora is more than that, it has to be a community," Smith said. "As such we have to concentrate on building that community and taking care of the community as much as we take care of the bits and bytes."

New Grandstream GXV 3140 IP Video Phone is Skype Certified

 
New Grandstream GXV 3140 IP Video Phone is Skype Certified Grandstream Networks, manufacturer of IP voice/video telephony and video surveillance solutions, announced that its award-winning GXV3140 IP multimedia phone.    The GVX 3140 uses mega-pixel camera and H.264 codec to deliver razor sharp video calling over Internet, is officially certified by Skype and incorporates native Skype embedded software to allow Skype video calling without a PC. Skype’s community of users worldwide, who already have the capability to send and receive free video calls to and from their computers, can now do so with Grandstream’s IP multimedia phone. Designed to strengthen relationships with business colleagues and customers, as well as keep in touch with family and friends, the GXV3140 offers FREE two-way or three-way video calling out-of-the-box along with real-time instant access to a variety of Web and popular social multimedia applications.

“Skype certification on the GXV3140 IP multimedia phone creates a seamless video-enabled communications experience from PC to desk phone, giving Skype users the utmost flexibility and convenience for video calling,” said David Li, CEO of Grandstream Networks. “Grandstream's GXV3140 bridges the gap between convenient-to-use dedicated voice/video end-points and the increasingly popular world of PC-based Internet multimedia communication offerings like Skype."

The Skype-enabled Grandstream GXV3140 is the industry’s first desktop IP multimedia phones compatible with both Skype and SIP open standards for voice & video calling. No service contract or additional monthly fee is required to use Skype for video calling.

With a 4.3” digital color LCD, the ‘always-on’ GXV3140 has an integrated Web browser, giving users convenient, one-touch access to personalized feeds of real-time online information services (such as news video or RSS feeds, weather, IM, stock/currency updates, etc), thousands of Internet radio stations, major Web photo sites (Yahoo Flickr, Photobucket, Phanfare), popular social networking sites (Facebook, Twitter) and Internet streaming entertainment sites like YouTube and Last.fm.

Earlier this year, Grandstream also announced successful Skype Connect™ certification for its IPPBX and gateways. Skype Connect interoperability allows business users to receive calls through their Grandstream IPPBX from Skype users around the world. Companies can now allow their customers and remote employees to make free inbound calls to their corporate PBX system using Skype from anywhere in the world.

“We are pleased to deliver this new video device category that works with Skype and are honored to be selected for our innovation, rich features, and affordability. The GXV3140 phone joins Grandstream’s other Skype-enabled solutions including our IPPBX and gateway products previously certified by Skype,” Li added. “We value our strategic relationship with Skype and look forward to bringing more devices with Skype integration to market in the future.”

Pricing and Availability

The GXV3140 is available through Skype Store and Grandstream’s worldwide distribution partners for $229.00.

Integra Telecom Unveils SIP Trunking Solution

 
Integra Telecom Unveils SIP Trunking Solution Integra Telecom, a telecommunications provider for businesses, said it now offers SIP Solutions, a portfolio of IP-based services that greatly expands Integra's voice and data offerings.

In a release, the company said SIP Solutions combines multiple voice and data options on a single connection and is the latest addition to Integra's product offerings, which utilize Integra's own fiber-based voice and data network. "Businesses are always seeking to simplify their telecommunications in order to be a more efficient and profitable organization. By continuing to introduce more telephony products like SIP Solutions, Integra Telecom is ensuring that our customers have access to the most advanced and cost-effective services available," said Dudley Slater, CEO for Integra Telecom. "SIP Solutions is designed to meet the needs of businesses that are looking to support voice and data applications at single or multiple locations. And all of our services are supported by Integra's industry leading local customer service." Integra's SIP Solutions products and services can be customized to meet an individual business' unique situation.

Patent Office Says Another 'Worst Patent' Should Be Rejected As Obvious

 
Patent Office Says Another 'Worst Patent' Should Be Rejected As Obvious The latest news in the ongoing effort by the EFF to invalidate ten awful patents looks good, as the Patent Office has given an initial rejection of C2's VoIP patent, claiming that it qualifies as "obvious." The incredibly broad patent (6,243,373) basically covers all VoIP implementations. Of course, this is just the "first office action," which rarely means very much, since the company still has the ability to come back and beg and plead for the USPTO to keep the patent alive (which happens often enough). Still, it does make you wonder, since it certainly does seem like it was an abundantly obvious patent (yes, even back when it was filed -- someone should talk to Jeff Pulver for some prior art), why it's taken this long for the USPTO to begin to correct its error.  While we continue to applaud the EFF for working to get these patents busted, as we mentioned recently, the real travesty is that it's been six years since the EFF began busting patents, and while there's progress on nearly all of the patents, it's an incredible slog -- and these are for the worst of the worst patents. Invalidating bad patents is a ridiculously difficult process. That's really bad, considering all the harm they can do in the meantime. « Asterisk PBX 1.8.0 Release Candidate 2 Now Available | Main | New Fedora Linux Project Leader Comes From Asterisk Roots »

Asterisk PBX 1.4.36 Now Available

Asterisk PBX 1.4.36 Now Available
Asterisk PBX 1.4.36 Now Available The Asterisk Development Team has announced the release of Asterisk PBX 1.4.36. This release is available for immediate download at:
http://downloads.asterisk.org/pub/telephony/asterisk/

The release of Asterisk 1.4.36 resolves several issues reported by the community and would have not been possible without your participation.

The following is a sample of the issues resolved in this release candidate:

    * Fix issue where DNID does not get cleared on a new call when using
      immediate=yes with ISDN signaling.
      (Closes issue #17568. Reported by wuwu. Patched by rmudgett)
    * Fix issue where SIP promiscuous redirect could fail to dial the
      redirect (app_queue).
    * Fixes issue with translator frame not getting freed. This issue prevented
      G.729 licenses from being freed up.
      (Closes issue #17630. Reported by manvirr. Patched by dvossel)
    * Ensure SSRC is changed when media source is changed to resolve audio delay.
      (Closes issue #17404. Reported, tested by sdolloff. Patched by jpeeler)
    * Q931 - Sending PROGRESS after sending ALERTING is a protocol error.
      (Closes issue #17874. Reported, patched by nic_bellamy)

For a full list of changes in the current release, please see the ChangeLog:

http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-1.4.36

Thank you for your continued support of Asterisk!

Asterisk Google Voice

Google Voice was designed to be a user-friendly, interactive messaging system. Google didn't intend to provide a telephony tools for Asterisk developers, but Digium haven't blocked any functionality either. There's no SIP connectivity in Google Voice, but use of GIZMO makes the entire Google Voice platform is SIP-based which makes it a perfect fit with Asterisk.

Due to Google Voice design, there's no simple way to use your Google Voice DID for inbound call distribution while also integrating voicemail transcription and outbound calling into Asterisk dialplan. Because there is not an advantage of the free voicemail transcription service with Asterisk if Google Voice is sending inbound calls all over the countryside. The key to unlocking the greatness of Google Voice with Asterisk implementation is having two Google Voice accounts so that each can be used for a dedicated purpose. The first account will be implemented for outgoing functions and voicemail procedures, and the second is applied to manage and route incoming calls. This is essential for security reasons, if you don't want to reveal your Google Voice number on order of outbound calling. It is a SIP connection, and your Google Voice phone account is only protected by a 4-digit PIN. If Google hasn't experienced Fail2Ban, it is just pending. Currently multiple Google Voice accounts aren't possible unless you had more than one GrandCentral account, due to the only GrandCentral users currently are authorized for Google Voice accounts. It will change, definitely

The design of Google Voice To integrate free voicemail transcription of Google Voice into Asterisk, first you must do is turn your Google Voice account into a answering machine and message distribution system. When calls arrive on your Google Voice number, they will immediately trigger a greeting message.

Google Voice Setup. Log into your Google Voice account and click Settings, General. In the Voicemail Greeting section of the form, record your greeting message as outlined above. In the Notifications section, identify the email and SMS addresses for delivery of your voicemail messages. In Voicemail Transcripts, check the option to transcribe voicemails. Now click on the Do Not Disturb check box to forward all inbound calls to voicemail.

FreePBX Setup. Obviously there are numerous ways to integrate this transcription service of Google Voice into Asterisk. If you're using Asterisk free PBX, here are a couple of simple ways. First, create a Miscellaneous Destination for Google Voice and provide your Google Voice number in the correct format to match your Asterisk dialplan. Next, if you use a Ring Group to answer incoming calls, choose your new Google Voice Miscellaneous Destination as the "Destination if no Answer."

If you're using an IVR to route calls, then may be you'll want to add an option to leave a voicemail and have it transcribed for delivery to your email account.

For rerouting of Asterisk calls to Google Voice, be sure to use an outbound trunk that supports CallerID pass-through. And make configurations needed with a blank CallerID value in Asterisk free PBX. Then the actual CallerID of the incoming call will be passed along to Google Voice and stored as part of the voicemail message.

Wednesday, November 17, 2010

Asterisk PBX

Image
Original Website - http://www.asterisk.org/

Asterisk is a complete PBX in software. It runs on Linux, BSD, Windows (emulated) and OS X and provides all of the features you would expect from a PBX and more. Asterisk does voice over IP in four protocols, and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware.


Asterisk provides Voicemail services with Directory, Call Conferencing, Interactive Voice Response, Call Queuing. It has support for three-way calling, caller ID services, ADSI, IAX, SIP, H.323 (as both client and gateway), MGCP (call manager only) and SCCP/Skinny. Check the Features section for a more complete list.


Asterisk needs no additional hardware for Voice-over-IP, although it does expect a non-standard driver that implements dummy hardware as a non-portable timing mechanism (for certain applications such as conferencing). A single (or multiple) VOIP provider(s) can be used for outgoing and/or incoming calls (outgoing and incoming calls can be handled through entirely different VOIP and/or telco providers)


For interconnection with digital and analog telephony equipment, Asterisk supports a number of hardware devices, most notably all of the hardware manufactured by Asterisk's sponsor, Digium. Digium has single and quad span T1 and E1 interfaces for interconnection to PRI lines and channel banks. In addition, single to quad port analog FXO and FXS cards are available and are popular for small installations. Other vendors' cards can be used for BRI (ISDN2) or quad- and octo- port BRI based upon CAPI compatible cards or HFC chipset cards.


For interconnection with the cellular network (GSM or CDMA), Asterisk can use the Celliax channel driver or chan_mobile that is in the trunk now and there is also a unofficial backported version.


Lastly, standalone devices are available to do a wide range of tasks including providing fxo and fxs ports that simply plug into the LAN and register to Asterisk as an available device.

Sunday, November 14, 2010

Asterisk cmd AddQueueMember

 Dynamically adds queue members   AddQueueMember(queuename[|interface[|penalty]]): (1.0)
  AddQueueMember(queuename[|interface[|penalty[|options]]]): (1.2)
  AddQueueMember(queuename[|interface[|penalty[|options[|membername]]]]): (1.4)
  AddQueueMember(queuename[,interface[,penalty[,options[,membername[,stateinterface]]]]])): (1.6+)

Dynamically adds interface to an existing queue (i.e. the interface "logs on" to the queue, as an agent does with AgentCallbackLogin).

queuename - The name of the queue to add a member to interface - The interface to add to the queue, if not specified, uses the current interface penalty - Integer greater than or equal to 0, available members with lower penalties will get calls first options: (1.2+) j - If the interface is already in the queue and there exists an n+101 priority then it will then jump to this priority. Otherwise it will return an error. (Default with 1.0, 1.2/1.4, 1.6+) In 1.6+ there are no options as j was removed, but if subsequent parameters are to be passed, options must be specified as an empty parameter, i.e. ,, membername - (1.4+) A specific member name to be added. This is simply a text label to allow easy identification of a queue member from either the queue_log file or AMI events. stateinterface - (1.6+) An alternate interface to be used to determine the state of the member
Notice: Since Asterisk 1.4, AddQueueMember does produce queue_log output (by default located in /var/log/asterisk). Previous to this AddQueueMember action did not produce any output to queue_log. A patch to solve this issue on Asterisk pre 1.4 can be found here - http://bugs.digium.com/view.php?id=7736.

You can also refer to http://lists.digium.com/pipermail/asterisk-dev/2005-February/009615.html. A more comprehensive solution, tested with the QueueMetrics log ananlyzer, is presented at http://astrecipes.net/?n=100.
Also see this patch that adds a new QueLog command http://bugs.digium.com/view.php?id=7368

Returns -1 if there is an error.

Once run, this also sets a variable of AQMSTATUS which is set to one of the following: (1.0, 1.2+)
ADDED MEMBERALREADY NOSUCHQUEUE  
  AddQueueMember(techsupport|SIP/3000)

Using just AddQueueMember() will add the caller device to the members.
- is the name of the queue in queues.conf


Friday, November 12, 2010

Windows VOIP Business Phone System


Windows based, ISDN and VOIP Ready. Suitable for companies with 1 to 200 employees.
Supports Traditional, USB, SIP Phones, Wireless Headsets, Wifi Phones and Softphones.

The features are comprehensive and includes:

VOIP Ready – Internet VoIP calls over SIP Carriers. ISDN Ready – Connect in existing ISDN lines. VOICEMAIL – by phone, or by email for every extension and service groups. AUTOMATED CALL ATTENDANTS (IVR) Voice/Music Greetings to Callers providing Optional Menus by Touch Tone Dialling. PRESENCE indicators for every extension showing extension on-call, free, away or offline. Outlook Integration – pop up relevant contact details and notes for incoming caller. Call Recording – Automatic or manual instant recording. WAN – Integrate branch offices and benefit from free inter office calls, and improve office communication efficiency. Centralised Phone Book – company wide telephone book showing names, numbers and business information. Fax Server – company wide fax server allowing employees to fax straight from desktop PCs, receive incoming faxes, and notifications of successful/unsuccessful messages. Call Pickup/Conferencing/Divert/hold/Forward Music on Hold – configurable, accepts any .wav file Short Text Messaging – short message any extension on same system or in another branch office. SIP Phones, USB Phones, Softphones and Traditional RJ11 Phones – wide ranging support of hard phones and softphones. Least Cost Routing – automatic routing with calls between VOIP and ISDN carriers to minimize outages and call charges. Day/Night/Holiday Modes – system programmable to offer different messages or call routes depending on day, time and holidays.

VPN for SIP Service Provider

Basically VPN for SIP service provides VPN router to United Arab Emirates and many other countries' customers to unblock VOIP calls for VOIP Adapter based broadband phone service, if customers have existing broadband phone service from Vonage or other ITSP providers but currently the VOIP device doesn't work because of the VOIP ban policy, this service is the best choice for you! By using VPN router together with the very low cost monthly VPN service, users can easily make Vonage VOIP phone calls again to save huge international phone bills!


VPN4SIP.COM was established two years ago by experts in both VOIP and VPN industry. The difference of VPN4SIP.COM service from other VPN providers is about the VPN network quality we provide - by selecting the highest quality of internet backbone providers from US and UK, we can guarantee that the network latency and network jitter is minimum among all other VPN network you can find from the market - lower latency and jitter means better VOIP voice quality. Also We use dedicated VPN public IP for each VPN4SIP account, so every customer's VPN connection isn't sharing with any other account, which gives the highest security and anti-block flexibility to the VPN connection. And more, we always reserve dedicated bandwidth for both upload and download directions which gives extremely smooth voice conversation experience to the VOIP calls. In one word, VPN4SIP.COM is the most professional and high quality VPN service dedicated for broadband VOIP phone calls in UAE and other countries.


Having been working in VPN and VOIP fields for many years, VPN4SIP.COM experts know exactly what VOIP users need in those VoIP regulated countries, and that is why our VPN4SIP.COM service is here for customer like you. With VPN4SIP.COM router and service, you can easily get your VOIP ATA adapters back to work 24x7 without worrying the VOIP ban policy any more in your area. Plus, you can have up to 4 VOIP devices connecting to the same VPN router to share the VPN connection for simultaneous VOIP calls or Fax! Since beginning of 2009 to today, we already get thousands of happy customers from Dubai, Abu Dhabi and other cities, you will be very happy once you try VPN4SIP service for your valued VOIP calls.


Our VPN router is a low cost device with built-in VPN account configured, it comes with one dedicated public IP, 100kbit/s dedicated upload bandwidth and 100kbit/s dedicated download bandwidth for a very low monthly VPN service fee. It's very affordable for most home or business users comparing to the huge international phone call cost. By the way please be aware that you must already have VOIP broadband phone service and Ethernet or Wireless based VOIP adapter ready before using our service, for example the VOIP service and device from Vonage, VOIPFone, SIPGate, VOIPTalk or Skype etc.


Our VPN router itself is a very high end Wireless Router with the latest 802.11n support (up to 300Mbps) and dual antenna, in additional to its dedicated VPN connection function for VOIP calls, the router is also a feature rich device with much more functions comparing to regular home routers you can find over the market. For everyday's use, you can still connect your PC to the VPN router's LAN port to use original ISP connection for web browsing, at the same time connect Vonage VOIP adapter to the VPN router's LAN port and it will use our VPN network for Voice over IP calls.


If you are interested in our service and want to use our VPN router to unblock VOIP calls, you can place order online at http://www.vpn4sip.com/index.php/service. We accept payment online through PayPal, we can also accept payment from Western Union or Bank Wired Transfer. Once your payment is made, we will customize your VPN router and ship it out using express carrier in one business day, you will get the parcel tracking information and VPN account details in our following up emails. Once you receive the VPN router in 3-5 days, read our email instructions to connect VOIP devices to VPN router, sit down and enjoy your broadband VOIP phones calls!

Thursday, November 11, 2010

OpenSIPS 1.4.4

OpenSIPS is an GPL implementation of a multi-functionality SIP Server that targets to deliver a high-level technical solution (performance, security and quality) to be used in professional SIP server platforms. OpenSIPS started as a fork of Fokus Fraunhofer SIP Express Router (SER) project.
OpenSIPS wants to be a more open project, not only from license point of view, but more open as project management, especially for external contributions.
OpenSIPSs goal is to overcome the development latency of current SER project and to ensure a shorter path into a release for new added features.

Main features:
- robust and performant SIP (RFC3261) Registrar server, Location server, Proxy server and Redirect server
- small footprint - the binary file is small size, functionality can be stripped/added via modules
- plug&play module interface - ability to add new extensions, without touching the core, therefore assuring a great stability of core components
- stateless and transactional statefull SIP Proxy processing
- support for UDP/TCP/TLS/SCTP transport layers
- IPv4 and IPv6
- support for SRV and NAPTR DNS
- SRV DNS failover
- IP Blacklists
- multi-homed (mhomed) and multi-domain support
- flexible and powerful scripting language for routing logic
- variables support in script - script variables, pseudo-variables (access to the SIP messages), AVPs (values persistent per SIP transactions)
- management interface via FIFO file and unix sockets
- authentication, authorization and accounting (AAA) via database (MySQL, Postgress, text files), RADIUS and DIAMETER
- digest and IP authentication
- Presence Agent support (many additional integration features)
- XCAP support for Presence Agent
- CPL - Call Processing Language (RFC3880)
- SNMP - interface to Simple Network Management Protocol
- management interface (for external integration) via FIFO file, XMLRPC or Datagram (UDP or unixsockets)
- NAT traversal support for SIP and RTP traffic
- ENUM support
- PERL Programming Interface - embed your extensions written in Perl
- Java SIP Servlet Application Interface - write Java SIP Servlets to extent your VoIP services and integrate with web services
- load balancing with failover
- least cost routing
- support for replication - REGISTER offer new functions for replicating client information (real source and received socket).
- logging capabilities - can log custom messages including any header or pseudo-variable and parts of SIP message structure.
- modular architecture - plug-and-play module interface to extend the servers functionality
- gateway to sms (AT based)
- multiple database backends - MySQL, PostgreSQL, Oracle, Berkeley, flat files and other database types which have unixodbc drivers
- straightforward interconnection with PSTN gateways
- dialog support (call monitoring, call termination from proxy side, call profiling)
- XMPP gateway-ing ( transparent server-to-server translation)
- impressive extension repository - over 70 modules are included in OpenSIPS repository
Scalability:
- OpenSIPS can run on embedded systems, with limited resources - the performances can be up to hundreds of call setups per second
- used a load balancer in stateless mode, OpenSIPS can handle over 5000 call setups per second
- on systems with 4GB memory, OpenSIPS can serve a population over 300 000 online subscribers
- system can easily scale by adding more OpenSIPS servers
- OpenSIPS can be used in geographic distributed VoIP platforms
- straightforward failover and redundancy

Enhancements
- After another month from 1.4.3 release, OpenSIPS improves itself with a new minor release, 1.4.4. Thanks to hard testing and fixing of a several people, new issues (critical and minor) were fixed on the OpenSIPS 1.4 branch.
- It is highly recommended to upgrade to this release, as it provides important stability improvements - OpenSIPS 1.4.4 is now available for download on project web site and SF download system.

Asterisk Voicemail for iPhone 0.13

Asterisk Voicemail for iPhone allows you to check your voicemail messages on your Asterisk phone system from your iPhone (or iPod Touch). It has been suggested that I rename the software to something more generic, since the iPod Touch is also fully supported.
Asterisk Voicemail for iPhone is quite similar to the "Asterisk Voicemail for Apple Touch".. Thoughts?
It works similar to the native iPhone Visual Voicemail, allowing you to list messages, listen to messages, display caller-id information, delete messages, move messages, return calls and change voicemail settings all from your iPhone.
The technology behind it is Asterisk (The Open-Source VoIP PBX), PHP for the backend, Smarty and iUI for the frontend.
NoteThis software is a PHP web-application which resides on your Asterisk server. Dont be confused into thinking that this is a native iPhone application. If you dont run or manage an Asterisk server, then this is not for you.

System requirements:
- iPhone or iPod touch.

Enhancements
- Changed listen link to listen.php, removing the need for Apache Alias.
- Added g_debug_path. Debug path was hard coded which caused crash if not exist.