Quantcast
Channel: VOIP-info.org Wiki Changes
Viewing all 5767 articles
Browse latest View live

Text-to-Speech (TTS)

$
0
0

What Is Text-to-Speech, or TTS?

From Wikipedia, TTS (Text To Speech) is defined as follows:

  • "Speech synthesis (Text to speech) is the artificial production of human speech. A computer system used for this purpose is called a speech synthesizer, and can be implemented in software or hardware. A text-to-speech (TTS) system converts normal language text into speech; other systems render symbolic linguistic representations like phonetic transcriptions into speech."

TTS Software


Text-to-Speech tools

  • Acapela Voices - including Arabic, Czech, Danish, Dutch (NL), Dutch (B), English (UK), English (US), Faroe, French, Finnish, German, Greek, Icelandic, Italian, Norwegian, Polish, Portuguese, Portuguese (Brazil), Russian, Spanish, Spanish (South America), Swedish and Turkish
  • TextSpeak Text to Speech - TTS in over 20 world languages packaged in hardware modules and standalone enclosures
  • AT&T Labs voices - including German, French, Latin Am. ...

Voice recognition

$
0
0

Voice recognition


Free or open source


Commercial

  • LumenVox - amongst others available for Asterisk 1.4 (a LumenVox patch for 1.2 is also available)
  • Nuance (formerly ScanSoft): Professional solution, commercial Text-to Speech (((Text-to Speech (((Text-to Speech (((Text-to Speech (((Text-to Speech (((Text-to Speech (TTS)))))) and ASR software often used for telephony applications
  • Loquendo: Professional solution
  • Acculab - Built-in to commercial DSP-based telephony cards
  • Lernout & Hauspie - Commercial software often used for telephony and embedded applications
  • Microsoft Speech Server - Does ASR and Text-to Speech (((Text-to Speech (((Text-to Speech (((Text-to Speech (((Text-to Speech (((Text-to Speech (TTS)))))) with support for telephony applications
  • Other vendors: IBM, Fonix Speech, Sensory Inc., Verbio, Voice Signal Technologies, Vorero, Utopy
  • Asterisk cmd ASR - professional, multilanguage voice recognition for Asterisk based on ASP model
  • VoiceXML platforms typically offer Text-to Speech (((Text-to Speech (((Text-to Speech (((Text-to Speech (((Text-to Speech (((Text-to Speech (TTS)))))) and ASR as part of their ASP, software, or hardware appliance solutions

Asterisk consultants USA

$
0
0
Add your entry here (alphabetical order, by state and company), but stick to states where you have actual presence!
Feel free to add a few lines (max 5) describing your business. Don't forget to add VoIP telephone numbers, like a SIP URI. Use common courtesy with others' entries!
No images!


ALABAMA


Asteria Solutions Group

Sip Trunking Providers

$
0
0
This page is a list of SIP trunking providers around the world. Please keep this list in alphabetical order. SIP providers looking to add their services can do so in the list below.

Country specific pages:

1comms VoIP provider for UK Businesses. Sip trunk services, UK DDI's and Asterisk Support for business users and resellers. White Label fully itemised per second billing.

1Pipe Telecom | OnePipe is a CLEC providing SIP Trunking, Hosted PBX, IP and other services, we provide services on our own network and gateways.

Alcazar Networks - Wholesale Services Over 3,100 DID rate centers. Per minute pricing as low as $0.0005/minute. Per channel pricing as low as $2.00/channel. DIDs as low as $0.10/each. A-Z termination. Over 1,200,000 numbers in DID inventory.

Amivox free your phone - Lower your communication cost VoIP provider for both consumers and businesses. Offer's free SIP account. Prepaid and very good rates for network termination with premium quality ( Amivox-Out) . Support for iPhone, Android and Blackberry. Shared balance for multiple users. Calling Amivox to Amivox is free - Sign up for free and try out the service.

Anveo offers phone numbers from over 48 countries with instant activation. Anveo's Voice 2.0 Communication and Collaboration Suite with powerful Visual Call Flow technology allows you to visually configure call handling and call termination options for your phone number. Anveo provides FREE SIP trunking and it is one of many termination options available.

BellVoz offers International and Domestic Long Distance Services with VoIP technology, helping business and consumers to reduce monthly telephony expenses.

Best VoIP USA BestVoIPUSA.com offers SIP trunking to private and commercial operators of Asterisk PBX switches. BestVoIPUSA.com also provides all of the well known features of SIP even if you are connecting directly to SIP compliant devices, handsets or servers.

Box Internet Services offers SIP trunking to private and commercial operators of Asterisk PBX switches. Boxis.net also provides all of the well known features of SIP even if you are connecting directly to SIP compliant devices or servers.

Brisnorth Communications Australia Brisnorth.com.au provides SIP trunks, VoIP and SIP Server hardware to Businesses Australia-wide. Carrier-Grade reliable SIP/VoIP services at very cost-effective rates. We can work with your current hardware/phones or upgrade you. We have Plans to suit all budgets and sizes of Business. Contracts and Bundles are optional (Customers are free to go un-contacted and un-bundled) email sales@brisnorth.com.au or call 07 3623 0800

SIP Trunk Providers Netherlands

$
0
0
This page is a list of SIP trunking providers in the Netherlands. Please keep this list in alphabetical order. SIP providers looking to add their services can do so in the list below.


New Software Releases

$
0
0
This page is to inform on various VoIP related software releases.

Your contributions are welcome, but please read the How to add information to this wiki page and the Posting Guidelines before you post.

October 2012


September 2012

CNAM

$
0
0
A CNAM database contains calling party names to be used when identifying a calling party.

CNAM Lookup Services List:
CallerID4u.com Calling Name (CNAM) Ready phone numbers are provisioned to receive “Calling Name” fees from a receiving carrier each time a call terminates on their platform. When this happens, Callerid4u’s Caller-ID name is retrieved and matched to a nationwide Caller ID database. These small fees are aggregated into monthly payments from which Callerid4u then pays you.

https://www.opencnam.com/ The OpenCNAM Project. Telephony Research Services is providing a free CNAM API for Hobbyist PBX users. This API queries our private CNAM database and returns standard 15-Character CNAM results. Any entry not already in the database will be queued for investigation, and added to the database as soon as information is located. This system has access to several CNAM backends. The Free tier allows up to 60 anonymous queries per hour. API is: https://api.opencnam.com/v2/phone/2024561111?format=pbx

http://www.bulkcnam.com/ Cost: Only $0.005 per query for carriers or $0.009 for hobbyists! No catch, guaranteed with easy paypal integration. Sign Up for a FREE Account and we will credit you 30 FREE CNAM queries to try http://www.bulkcnam.com/.

http://www.calleridservice.com No monthly fees or account minimums and 20 free queries to test our service when you open an account ( instant setup ). Simple HTTP API or Fast AGI that can be placed in your Asterisk dial plan. Also native support for Switchvox PBX systems. Results are never cached so you get up to the minute real-time results. Retail prices are $.009 per query and bulk pricing is available with a volume commitment of at least 25,000 queries per month. Free support and installation assistance is available.

http://www.data24-7.com CNAM service for $12 per month (membership fee) and $0.005 per query ($0.004 for over 500,000 transactions per month). Simple HTTPS/XML-based API with examples, plus batch file upload and manual entry available via website. Asterisk support. We also support SIP protocol so your switch/dialer can communicate with our service directly. Members have full access to Data24-7's other services, such as carrier lookups and email-to-SMS gateway address lookups. Free trial!

http://www.ezcallerid.com provides CNAM service to ANY IP-PBX, gateway or proxy that is SIP compatible. No API or code needed. $.015 per call with no monthly charges or minimum comitment of any kind. Sign-up for $10 at http://www.ezcallerid.com.

www.cnam.info offers both CNAM and a pseudo-CNAM service at a fraction of the cost. Integration with asterisk is as easy as downloading the AGI and adding a single line to your dial plan.

www.callwithus.com offers both CNAM ($0.006) and LRN ($0.0003) look ups. No minimums and monthly charges. Simple HTTP API, easy to integrate to Asterisk dial plan.

www.VoIPCNAM.com offers CNAM lookup services to individuals and small businesses at economical prices. The service integrates easily with your existing Asterisk dialplan using the provided one-line examples. Rates start at $2/month including 25 lookups, and $0.02 per additional lookup.

http://wholesale.metrostat. ...

Asterisk sound files international

$
0
0
This page contains information about international Asterisk sound files.

HOW TO GET YOUR NEW LANGUAGE ADDED TO THE ASTERISK DISTRIBUTION

As of October 2009, it is possible for new languages to be added to Asterisk if you or your company is willing to have the recordings made and then contribute them under the Creative Commons license. They will then appear in the menus of different languages which can be selected at build time. Find these instructions for details and procedures: http://svn.digium.com/view/asterisk/trunk/doc/lang/language-criteria.txt?view=markup Everyone who has submitted a language below is encouraged to re-package their sound files for addition. Questions can be sent to John Todd (jtodd@digium.com) regarding language additions.

Installation

  • Use language= in a .conf file, or use the CHANNEL(language) function (1.4+) resp. the SetLanguage() application in extensions.conf
  • Place the voice prompts into a directory structure as follows (usually within /var/lib/asterisk/:
    • sounds/xx
    • sounds/digits/xx
    • sounds/letters/xx
    • sounds/phonetic/xx
where xx is the two letter ISO code of the language in question (nl, fr, de, it, pt, es ...)

VOIP Consultants

$
0
0

Asterisk cmd ConfBridge

$
0
0

ConfBridge

Synopsis

ConfBridge conferencing bridge

Description

ConfBridge([confno][,options]): Enters the user into a specified ConfBridge conference

10.x

ConfBridge has undergone many changes for the version released with Asterisk 10.x. The documentation for this new *version* can be found here. (Someone should add it to Voip-Info)

Asterisk cmd ConfBridge


ConfBridge is an application for Asterisk starting with the 1.6.2.* series. ConfBridge is very similar in features to MeetMe, but unlike MeetMe, ConfBridge does not perform audio mixing using DAHDI. Instead, audio mixing is performed within the internals of Asterisk.

To get an up2date description of ConfBridge for your used Asterisk version execute "core show application ConfBridge" on the Asterisk CLI.

The option string may contain zero or more of the following characters:
  • 'a' — Set admin mode
  • 'A' — Set marked mode
  • 'c' — Announce user(s) count on joining a conference.
  • 'm' — Set initially muted.
  • 'M' — Enable music on hold when the conference has a single caller. Optionally, specify a musiconhold class to use. If one is not provided, it will use the channel's currently set music class, or 'default'
  • '1' — Do not play message when first person enters
  • 's' — Present menu (user or admin) when '#' is received (send to menu)
  • 'w' — Wait until the marked user enters the conference
  • 'q' — Quiet mode (don't play enter/leave sounds).

The join sound can be set using the 'CONFBRIDGE_JOIN_SOUND' variable and
the leave sound can be set using the 'CONFBRIDGE_LEAVE_SOUND' variable.
These can be unique to the caller.

NOTE: This application will not automatically answer the channel.

Muteing

When a participant is "muted" this means that the participant's audio is ignored. Nevertheless the muted participant still receives the mixed audio stream.

Differences with MeetMe

It is no longer possible to assign a PIN to a conference as you would with MeetMe(123,d,321) - instead this must be done outside of the ConfBridge application. Because of possible clashes if two people run the code at the same time, it is not possible to use the CONFBRIDGE_INFO(parties) function and the code must, at least in part, be run in a MacroExclusive() application. ...

VirtualPBX

$
0
0

XVB - Voice Application Server / HostedIVR solution based on asterisk ( V2, build 6753 / and experimental image with centos 6.2, chan_dongle, asterisk 1.8.xxx out of the box ).


The virtual-pbx application is designed for processing incoming/outgoing calls in an isolated environment (numbered plan, routing calls, phones, cdrs, web gui and so forth. ) for multiple users.

Virtual-pbx application include :

  • Processing incoming / outgoing calls.

  • Completely isolated environment for different users ( incoming / outgoing routes, dial plan, sip-endpoints, web-interface, cdrs, call-recordings, etc ).

  • Full control of users ( disk quota, the number of phones, the number of messages, the number of concurrent calls, etc ).

  • Custom user greetings support.

  • Email/Twitter notifications.

  • Multiple language voice prompts.

  • Text To Speech ( TTS ) for multiple languages.

  • 'Simple' or 'Expert' mode for configuration.

  • Custom music on hold (MOH) for each user.

  • Multiple language WEB interface

  • xml/json API support.

  • Flexible customisation for system voice messages.

  • Managing voice mail via phone or WEB interface.

  • User specified time zones support.

  • Call transfer support ( blind transfer, with return of unsuccessful call ).

  • Smart call pickup.

  • White / Black lists support for each IVR item.

  • PhoneBook with speed dial feature.

  • Journal configuration changes.

  • CDR support ( search by caller, called, date of call, etc.. )

  • XML backup / restore configuration.

  • Multiple roles within a single IVR account.

  • Privated / Shared DIDs support.

  • SQL reports.

  • Management API.

  • Call routing based on Google.Calendar events.

  • Support Google Analytics for calls trekking.

  • Radius accounting.

  • Background music for Find-Me / Queue calls.

  • Asterisk 1.8 ( optional ).

  • Support for wideband / HD audio codec ( g722 ).

  • Email/Web interface Branding.

  • Recording outgoing calls ( auto / on demand ).

  • Full DTMF history for each call.

  • Support presettings for SIP providers.

  • Support Multi-tenant asterisk with Kamailio as sip registrar server / load balancer.

  • Easy to update.

  • speedyAGI server ( greater stability && high performance )

  • FMC - Fixed Mobile Convergence / One touch call transfer without breaking the call. ...

VOIP Routers

$
0
0
There are hundreds of different models of routers available, this is list of routers that may be of interest to VOIP users.

Small Routers with Multiple WAN Interfaces

Having multiple connections to the Internet from different providers can be a challenging configuration puzzle. Some routers are designed to make this easy for simple installations.
  • SmartShare Systems FairRouter Dynamic QoS router that automatically detects VoIP traffic (incl. Skype) and ensures high sound quality.
  • DrayTek multi-WAN routers have special VOIP prioritization features to insure voice goes out first.
  • Linksys RV082 10/100 8-Port VPN Router with 2 WAN interfaces
  • Astrocom Powerlink Pro - multiple WAN interfaces with load balancing and automatic failover


Small Routers with QOS and built-in VOIP ports

  • Allwin Tech G220: 1 WAN 4LAN, 2 FXS with PSTN backup, QoS, NAT, Router, WLAN optional
  • Atcom : * ag-268ADSL/ethernet/IPSec/Vlan 1 wan 1 lan, 2 fxs
  • AVM FritzBoxFon 1 ADSL 1 FXO or ISDN BRI 1 LAN 1 USB 2 FXS
    • Some models with 4 LAN ports
    • Some models with 3 FXS ports
    • Some models with USB host interface
    • Some models without ADSL2+ modem
  • BATM/Telco Systems AC-211: 2 FXS, 1 Ethernet WAN, 1 LAN, NAT Router, 1 PSTN.
    • Advanced Traffic Shapping for Voice Prioritization and QoS
    • T.38 Fax, VLAN, VPN supports, ...
    • Supports H.323, SIP and MGCP
    • Interroperability with most softswitch vendors
  • Bewan 820VG
    • http://www.bewan.com/bewan/products/routers/bw820vg.php
    • 1 FXS VoIP port for telephone (wired or DECT)
    • 1 FXO port for telephone line
    • Supports SIP, RTP/RTCP protocols
    • Built-in SPI Firewall
    • models with integrated WiFi accesspoint (IEEE802.11g/b)
    • ADSL2/2+ and NAT, port forward etc
      • Looks like a rebranded Draytek Router
  • Bewan LanBooster 6104 Vx
  • Cisco 827-4V ADSL/ethernet/4 FXS, T. ...

Asterisk cmd PauseQueueMember

$
0
0
Update: in Asterisk 1.4 it has the following details (i.e. you can use an interface rather than an agent):

Synopsis

Pauses a queue member

Description

PauseQueueMember([queuename]|interface[|options]):
In Asterisk 1.8:
PauseQueueMember([queuename],interface,[options],[reason]):
Pauses (blocks calls for) a queue member. The given interface will be paused in the given queue. This prevents any calls from being sent from the queue to the interface until it is unpaused with UnpauseQueueMember or the manager interface. If no queuename is given, the interface is paused in every queue it is a member of. If the interface is not in the named queue, or if no queue is given and the interface is not in any queue, it will jump to priority n+101, if it exists and the appropriate options are set. The application will fail if the interface is not found and no extension to jump to exists.
In Asterisk 1.8 the reason will be logged in the data column of the queue_log.

The option string may contain zero or more of the following characters:
'j' — jump to +101 priority when appropriate.
This application sets the following channel variable upon completion: PQMSTATUS
The status of the attempt to pause a queue member as a text string, one of PAUSED | NOTFOUND

Example:

PauseQueueMember(|SIP/3000)



Synopsis


Pauses a queue member

Description

PauseQueueMember([queuename]|agent[|options]):

Pauses an agent on a queue, i.e. the agent will not receive calls but s/he is still a member of the queue.

If no queue is given, agent is paused on all queues.

The option string may contain zero or more of the following characters:
  • j - jump to priority n+101 if the agent is not a member of the queue

Example

PauseQueueMember(|Agent/101)

Pauses Agent/101 on all queues s/he is a member of.

In extensions.conf:
exten => *11ZXXX,1,PauseQueueMember(|Agent/${EXTEN:3});

If *111001 is dialed, Agent/1001 will be paused on all queues s/he is a member of.


An example macro for pausing the extension that is calling in with a feature code:


[macro-agent-pause]

exten => s,1,Answer
exten => s,1,Wait(1)
exten => s,n,Macro(user-callerid,SKIPTTL,)
exten => s,n,Set(CALLBACKNUM=${AMPUSER})
exten => s,n,PauseQueueMember(|Local/${CALLBACKNUM}@from-internal/n)
exten => s,n,System( echo "${EPOCH}|${UNIQUEID}|NONE|Agent/${CALLBACKNUM}|AGENTPAUSED|-" >> /var/log/asterisk/queue_log )
exten => s,n,UserEvent(RefreshQueue)
exten => s,n,Wait(1)
exten => s,n,Playback(extension)
exten => s,n,SayDigits(${CALLBACKNUM})
exten => s,n,Playback(dictate/paused)
exten => s,n,Wait(1)
exten => s,n,Hangup

; end of [macro-agent-pause]


See also

Asterisk cmd UnpauseQueueMember

$
0
0

Synopsis:


Unpauses a queue member

Description:

UnpauseQueueMember([queuename]|agent[|options]):

Unpauses an agent on a queue, i.e. the agent goes back to answering calls.

If no queue is given, agent is unpaused on all queues.

The option string may contain zero or more of the following characters:
  • j - jump to priority n+101 if the agent is not a member of the queue

Return codes


This application sets the following channel variable upon completion: UPQMSTATUS

The value of this variable will be set to the status of the attempt to unpause a queue member. One of:
UNPAUSED | NOTFOUND


Example:

UnpauseQueueMember(|Agent/101)

Unpauses Agent/101 on all queues s/he is a member of.

In extensions.conf:
exten => *12ZXXX,1,UnpauseQueueMember(|Agent/${EXTEN:3});

If *121001 is dialed, Agent/1001 will be unpaused on all queues s/he is a member of.


See also



Asterisk | Applications | Functions | Variables | Expressions | Asterisk FAQ

Asterisk cmd AgentCallbackLogin

$
0
0

Synopsis

Call agent callback login

Status

Deprecated in 1.4
Removed in 1.6

Description


AgentCallbackLogin([AgentNo][|exten]@context) (1.0-)
AgentCallbackLogin([AgentNo][|Options[|exten[@context]]]) (1.2+)

Asks the agent to login to the system with callback.
The agent's callback extension is called with the specified context. The context must be specified, however the system
will prompt for the Agent number, password, and extension if they have not been supplied.

New in Asterisk v1.2.0: The AgentCallBackLogin application now requires a second '|' before specifying an extension@context. This is to distinguish the options string from the extension, so that they do not conflict. See 'show application AgentCallbackLogin' for more details.

New in Asterisk v1.4.0: (July 2006) Due to various issues with AgentCallbackLogin this feature is deprecated by Digium (according to Kevin P. Fleming). Similar functionality can be achieved through existing dialplan functionatliy using dynamic members: The functionality has been replaced with AEL dialplan logic located in the doc/queues-with-callback-members.txt file within the Asterisk source.

Removed in Asterisk v1.6

Replacement solution without AEL

Take from here

The major advantage of AgentCallBackLogin, is that each agent logs in to the system, set what phone they are sitting at, and start receiving calls from the queue. My method makes use of AstDB, the voicemail.conf and a few dialplan applications. I make use of the voicemail.conf to setup each agent, and with a PIN or password. So here’s my voicemail.conf:

[agent]
1050 => 1234,Robert,agents@hostseries.com,attach=yes|saycid=yes|envelope=yes|delete=yes|nextaftercmd=no

Within my extensions. ...

Asterisk cmd Queue

$
0
0

Synopsis

Queue a call for a call queue

Description

Asterisk 1.6.0:
Queue(queuename[,options[,URL[,announceoverride[,timeout[,AGI[,macro[,gosub[,rule]]]]]]]])


Asterisk 1.4:
Queue(queuename[|options][|URL][|announceoverride][|timeout][|AGI])


Asterisk 1.0 through 1.2:
Queue(queuename[|options][|URL][|announceoverride][|timeout])


Queues an incoming call in a particular call queue as defined in queues.conf or dynamic realtime.

The option string may contain zero or more of the following characters:
  • d — data-quality (modem) call (minimum delay).
  • h — allow callee to hang up by pressing *.
  • H — allow caller to hang up by pressing *.
  • n — no retries on the timeout; will exit this application and go to the next step.
  • r — ring instead of playing MOH.
  • R — stops moh and rings once an agent is ringing (Asterisk Trunk)
  • t — allow the called user to transfer the calling user.
  • T — allow the calling user to transfer the call.
  • w — allow the called user to write the conversation to disk via Monitor.
  • W — allow the calling user to write the conversation to disk via Monitor.
  • c — continue in the dialplan if the callee hangs up (Asterisk 1.6.0 and above).
  • i — ignore call forward requests from queue members and do nothing when they are requested (Asterisk 1.6.0 and above).
  • k — Allow the called party to enable parking of the call by sending the DTMF sequence defined for call parking in features.conf (Asterisk 1.6.0 and above).
  • K — Allow the calling party to enable parking of the call by sending the DTMF sequence defined for call parking in features.conf (Asterisk 1.6.0 and above).
  • x — allow the called user to write the conversation to disk via MixMonitor (Asterisk 1.6.0 and above).
  • X — allow the calling user to write the conversation to disk via MixMonitor (Asterisk 1.6.0 and above).

In addition to transferring the call, a call may be parked and then picked up by another user.

'URL' allows you to specify a URL that will be sent to the called party if the channel supports it. You can also use an external application like QueueMetrics or Asteria Solutions Agent Client to launch the URL if your terminal does not support it.

  • In Asterisk 1.4, the optional AGI parameter will setup an AGI script to be executed on the calling party's channel once they are connected to a queue member.

'announceoverride' allows you to override the announcement specified in queues.conf using 'announce = ...' or add one to it in the first place.

'timeout' sets the time in seconds that a call will wait in the queue before it is routed to the next priority in the dialplan. It defaults to 300 seconds (5 minutes).

Note: at least in asterisk 1.8.5 (and probably earlier) the default is for there to be no timeout, not a 300 second timeout.

The timeout will cause the queue to fail out after a specified number of seconds, checked between each queues.conf 'timeout' and 'retry' cycle. ...

asterCC-BOX all in one call center solution

$
0
0
asterCC-BOX-0.1 released

Dowload asterCC-BOX-0.1

asterCC-BOX includes CentOS linux, it’s an easy to install contact center and billing system, based on asterisk PBX and asterCC software package, inegrated FreePBX(asterisk web GUI) with simplified chinese language package and asternic-stats(analyze your Asterisk PBX queue_log). asterCC-BOX provides flexible and stable phone system, contact center and billing(callshop solution) system for your business.

asterCC-BOX-boot.PNG


asterCC-BOX-GRUB.PNG


asterCC-BOX-web.PNG


freepbx_en.PNG


asternic-stats.PNG


See Also

VOIP Software

$
0
0

Billing

See Open Source Billing Systems & VOIP Billing

Call center monitoring


Computer Telephony Integration (CTI)

Asterisk manager API

$
0
0
The Asterisk Manager Interface (AMI) allows a client program to connect to an Asterisk instance and issue commands or read events over a TCP/IP stream. Integrators will find this particularly useful when trying to track the state of a telephony client inside Asterisk, and directing that client based on custom (and possibly dynamic) rules.

A simple "key: value" line-based protocol is utilized for communication between the connecting client and the Asterisk PBX. Lines are terminated using CR/LF. For the sake of discussion below, we will use the term "packet" to describe a set of "key: value" lines that are terminated by an extra CR/LF.
New in Asterisk 1.4: AJAM is a new JavaScript-based technology which allows web browsers or other HTTP enabled applications and web pages to directly access the Asterisk Manager Interface (AMI) via HTTP.

Protocol Behavior

The protocol has the following characteristics:

  • Before issuing commands to Asterisk, you must establish a manager session (see below).
  • Packets may be transmitted in either direction at any time after authentication.
  • The first line of a packet will have a key of "Action" when sent from the client to Asterisk, but "Event" or "Response" when sent from Asterisk to the client.
  • The order of lines within a packet is insignificant, so you may use your favorite programming language's native unordered dictionary type to efficiently store a single packet.
  • CR/LF is used to delimit each line and a blank line (two CR/LF in a row) indicates the end of the command which Asterisk is now expected to process.

Packet Types

The type of a packet is determined by the existence of one of the following keys:

  • Action: A packet sent by the connected client to Asterisk, requesting a particular Action be performed. There are a finite (but extendable) set of actions available to the client, determined by the modules presently loaded in the Asterisk engine. Only one action may be outstanding at a time. The Action packet contains the name of the operation to be performed as well as all required parameters.
  • Response: the response sent by Asterisk to the last action sent by the client.
  • Event: data pertaining to an event generated from within the Asterisk core or an extension module.

Generally the client sends Action packets to the Asterisk server, the Asterisk server performs the requested operation and returns the result (often only success or failure) in a Response packet. As there is no guarantee regarding the order of Response packets the client usually includes an ActionID parameter in every Action packet that is sent back by Asterisk in the corresponding Response packet. That way the client can easily match Action and Response packets while sending Actions at any desired rate without having to wait for outstanding Response packets before sending the next action.

Event packets are used in two different contexts: On the one hand they inform clients about state changes in Asterisk (like new channels being created and hung up or agents being logged in and out) on the other hand they are used to transport the response payload for actions that return a list of data (event generating actions). ...

Asterisk RealTime Queue

$
0
0
The queue application supports dynamic realtime. With dynamic realtime, the queue definition and member list will be reloaded each time a caller joins the queue. Thus queues can be updated in the database and the changes will be immediately visible without the need for an explicit reload.

It is possible to mix statically and dynamically defined queues. If a queue is defined in both static and dynamic realtime, the static version is used. The agent login feature currently only works for static queues though (a similar effect can be achieved with dynamic queues simply by inserting an appropriate row for a new member).

Extconfig.conf Setup

Add the following lines (changing of family names isn't allowed):


queues => mysql,asterisk,queue_table
queue_members => mysql,asterisk,queue_member_table


This example uses MySQL, but other realtime drivers (eg. ODBC) also work. The database containing the queue definitions is asterisk in this example, and the tables are called queue_table and queue_member_table.

Database Tables


Here are suitable MySQL table definitions for realtime queues. First the table defining each queue, with one row per queue.

CREATE TABLE queue_table (
name VARCHAR(128) PRIMARY KEY,
musiconhold VARCHAR(128),
announce VARCHAR(128),
context VARCHAR(128),
timeout INT(11),
monitor_join BOOL,
monitor_format VARCHAR(128),
queue_youarenext VARCHAR(128),
queue_thereare VARCHAR(128),
queue_callswaiting VARCHAR(128),
queue_holdtime VARCHAR(128),
queue_minutes VARCHAR(128),
queue_seconds VARCHAR(128),
queue_lessthan VARCHAR(128),
queue_thankyou VARCHAR(128),
queue_reporthold VARCHAR(128),
announce_frequency INT(11),
announce_round_seconds INT(11),
announce_holdtime VARCHAR(128),
retry INT(11),
wrapuptime INT(11),
maxlen INT(11),
servicelevel INT(11),
strategy VARCHAR(128),
joinempty VARCHAR(128),
leavewhenempty VARCHAR(128),
eventmemberstatus BOOL,
eventwhencalled BOOL,
reportholdtime BOOL,
memberdelay INT(11),
weight INT(11),
timeoutrestart BOOL,
periodic_announce VARCHAR(50),
periodic_announce_frequency INT(11),
ringinuse BOOL,
setinterfacevar BOOL
);



This table has a column for each possible queue parameter. Except for the mandatory name column, all columns are optional, and only the columns actually used need be included. Likewise, more columns may be added if the queue application is later extended with more parameters. A NULL value for a column indicates an unset parameter.

field "setinterfacevar" valid only in asterisk 1.4.x or higher.

in asterisk 1.4:

[Sep  3 13:51:27] NOTICE[960]: app_queue.c:458 monjoin_dep_warning: The 'monitor-join' queue option is deprecated. Please use monitor-type=mixmonitor instead.


please replace monitor-join to monitor-type varchar(128)


If you are using mysql 3.2.5X or lower the BOOL don't work so you have to simulate the behavior of the boolean with a tinyint(1) where 0 = false and 1 = true. ...
Viewing all 5767 articles
Browse latest View live




Latest Images