Skip to end of metadata
Go to start of metadata

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Asterisk Component Proposal

Proposed Component Name Zend_Asterisk
Developer Notes
Proposers Emanuele Deserti
Revision 1.2 - 21 February 2008: Second draft
1.1 - 10 October 2007: First draft (wiki revision: 6)

Table of Contents

1. Overview

Zend_Asterisk is a component that contain two main components: Zend_Asterisk_Manager and Zend_Asterisk_Agi
Zend_Asterisk_Manager will connect with the Asterisk Manager interfaces and can send and load data with the local Asterisk server.
Zend_Asterisk_Agi implements a Asterisk Gateway Interface which can be used to control and interact with a call in progress.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will connect with the Asterisk Manager and can write and read to Asterisk socket.
  • This component will answer to Asterisk call and hangup an active call.
  • This component will detect DTMF digits (single or collect digits) and play specific audio files.
  • This component will read and write Asterisk global variables (like extensions) and call variables (like callerid).

4. Dependencies on Other Framework Components

  • Zend_Exception

5. Theory of Operation

The component can be used in two way:

  • As Asterisk Manager, who can send command directly to the server and read it's output
  • As Asterisk Gateway Interfaces, who can answer to a call, process user input, interact with others services (like a database) and return results or informations to user.

6. Milestones / Tasks

  • Milestone 1: design notes will be published here
  • Milestone 2: Asterisk Gateway Interface: write to socket and read from socket.
  • Milestone 3: Asterisk Gateway Interface: parse callerid, collect digits, play audio files.
  • Milestone 4: Asterisk Manager: connect to Asterisk Server, send commands and read outputs.

7. Class Index

  • Zend_Asterisk_Exception
  • Zend_Asterisk (factory class)
  • Zend_Asterisk_Manager
  • Zend_Asterisk_Agi

8. Use Cases

MANAGER:send command and read output
MANAGER:originate dial

9. Class Skeletons



asterisk asterisk Delete
zend_asterisk zend_asterisk Delete
agi agi Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Nov 20, 2007

    <p>We have an asterisk voip network at my place of employment and have been asked to look into possible solutions for a web based front end and ways to integrate our intranet site with Asterisk. I'd be very interested in testing, assisting with this component, regardless of whether or not it makes it into Zend Core.</p>

  2. Dec 13, 2007

    <p>Thanks for help.</p>

    <p>Actually this project is "On Hold" but the development of the classes still continue... <ac:emoticon ac:name="smile" /></p>

    1. Feb 21, 2008

      <p>When do you expect to get back to it? If it's not within a few weeks, then I think it's best if we archive it for now. That way no one with some more time will hesitate before creating their own proposal for a similar component. <ac:emoticon ac:name="wink" /></p>

  3. Feb 06, 2008

    <p>I'm in rather a similar position as Jed, I'd love to see this component mature. I'd also be keen on testing if you're after more test subjects <ac:emoticon ac:name="smile" /></p>

    <p>Looking forward to more additions!</p>

    <p>Regards,<br />

  4. Feb 22, 2008

    <p>Sorry for long delay...</p>

    <p>I have just upload a VERY draft version of Zend_Asterisk_Manager (this is in use in one of our web application).</p>

    <p>Of course, all comment, critic and contribute of code are welcome <ac:emoticon ac:name="smile" /></p>

    <p>This class is heavily based on PHP-AGI <a class="external-link" href=""></a></p>

  5. May 10, 2008

    <p>Take a look to this AGI class for php 5</p>

    <p><a class="external-link" href=""></a></p>

    <p>Works quite well and you can adapt it easily to Zend Framework</p>

    <p>Cheers !</p>

    <p>I will you manager class asap. I'm interested to build a click on dial using you class.<br />
    Could you give me any clue ?</p>


    1. Jul 14, 2008

      <p>I have just added another UC with an Originate command useful for click to dial from a web interface</p>

      1. Oct 15, 2008

        <p>Where can I download the latest class with "Orignate" function ?<br />
        The archive posted here doesn't have it</p>


  6. Oct 16, 2008

    <p>You can find the Manager Class here:</p>

    <p><a href=""></a></p>

  7. Dec 29, 2010

    <p>Are there any updates to this issue? Should it be archived?</p>

    1. Jan 04, 2011

      <p>Due to lack of response I assume this proposal to be abandoned and have archived it as such. Please contact me if I'm wrong.</p>