Skip to end of metadata
Go to start of metadata

Zend Framework: Zend_Asterisk Component Proposal

Proposed Component Name Zend_Asterisk
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Asterisk
Proposers Emanuele Deserti
Revision 1.2 - 21 February 2008: Second draft
1.1 - 10 October 2007: First draft (wiki revision: 5)

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

Labels:
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

    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.

  2. Dec 13, 2007

    Thanks for help.

    Actually this project is "On Hold" but the development of the classes still continue...

    1. Feb 21, 2008

      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.

  3. Feb 06, 2008

    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

    Looking forward to more additions!

    Regards,
    Craig

  4. Feb 22, 2008

    Sorry for long delay...

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

    Of course, all comment, critic and contribute of code are welcome

    This class is heavily based on PHP-AGI http://phpagi.sourceforge.net

  5. May 10, 2008

    Take a look to this AGI class for php 5

    http://wisedonkey.livejournal.com/98142.html

    Works quite well and you can adapt it easily to Zend Framework

    Cheers !

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

    Regards

    1. Jul 14, 2008

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

      1. Oct 15, 2008

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

        Regards

  6. Oct 16, 2008

    You can find the Manager Class here:

    http://www.deserti.net/zend/Manager.zip

  7. Dec 29, 2010

    Are there any updates to this issue? Should it be archived?

    1. Jan 04, 2011

      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.