We need the source code and compiled application for an IAX client softphone for BLACKBERRY with the following requirements:
1-Dialer supports IAX (Inter Asterisk Exchange)for signaling.
2-Dialer supports G729, GSM and [url removed, login to view] codec for sending audio data.
3-Must be compatible with Blackberry Storm and 8830
4-PREFERABLE: Dialer runs on application layer so it supports GPRS, WiFi and Bluetooth for internet connectivity.
5-Operating system: BlackBerry V4.5 to V4.7
6-Dialer works with IAX username/password
7-Dialer to be configurable from the Phone
8-Optinal, Dialer can send SMS over IP
9-Dialer Supports Speaker Phone Functionality
10-Dial directly from the phone’s address book
Here is an updated Description. Some of the origional requirements are no longer needed. See the Project Clarification page for more information.
VOIP IAX Soft-Phone Application for the Blackberry
This application will run on the Blackberry and must be compatible with the Storm and the 8830. This is a VOIP Project that will enable the blackberry to connect to our private office PBX via the wireless data feature inherent in the blackberry. The office PBX is already IP enabled and awaits clients to connect via the Internet using the IAX2 protocol.
At present there are multiple PC based applications that can do this, however none have been adapted and/or written for use on the blackberry. What we want is an application to do just that.
Reference PC Based Applications:
Reference IAX2 Protocol Specifications:
Scope of the Project:
We will require an application that will provide another avenue for communication to and from the phone. Similar to Skype (A public use system) our system should use the same building blocks but link to our private Asterisk PBX using IAX2 (Inter Asterisk eXchange Version 2) as the protocol. The application needs to be able to run in the foreground and in the background.
Once the application is installed on the blackberry it will first need to be configured so that the user extension and security password can be assigned along the IP address or URL of our VOIP PBX. During configuration, a “Configuration Name” should also be assigned to identify the configuration settings that are being used. The Application should be able to use multiple configurations to connect to different PBX sources. Configuration should also include a setting for a Voicemail Extension. Once the configuration is complete we will also need a way to get back in and reconfigure the connection settings later. The configuration module should also contain multiple “Event Handling” settings to be determined through out this scope.
Upon initial run time, the application should present a phone dial pad similar to the phone function already present on the blackberry including the contacts button that would access the local blackberry address book. The application will probably need soft-buttons for dial, connect, and hang-up unless the phone hard buttons can be used within the application. It should also contain buttons for speakerphone, voicemail on the remote PBX and an indicator that the application has connected and registered to the PBX and also what configuration was used to successfully connect.
After the application has been configured and run on the blackberry, the application should have the ability to stay resident in the background leaving the blackberry available to receive calls from the PBX. This mode should be configurable leaving the choice open to the user. Once the application is running on the blackberry in the foreground, if the user is not in a call and presses the escape button on the blackberry, he/she should be presented with a choice to terminate the connection or keep it active. Likewise, if the user is in a call he/she should be able to escape to other functions on the blackberry without terminating the call or the application, in fact he/she should not be presented with a choice at that time. While the application is in the background mode, if it receives a call from the PBX, it should automatically become active and ready in the foreground.
The application should be able to be used with all of the voice and speaker modes of the blackberry including wireless bluetooth devices connected to the unit known as headsets. It is understandable that some functions of the head set will not be available like voice command and direct dialing without interacting with the blackberry. However, the headset device should be able to pickup a call that is coming in through the application. The user should also be able to use and dial from the application and use the headset without hinder. It would be nice to be able to use the headset in full capacity if the application were running and active in the foreground (this would be voice command dialing and such).
Since this is a VOIP application, the data mode inherent in the blackberry is a must. The application must be able to use the data functions in the blackberry phone directly so the phone will function solely on its own connectivity relying on the cell towers for data access. On some blackberry’s, it is our understanding that when a call is placed or received on the blackberry using the native “Phone” modes, data connectivity is interrupted. In this event the application if running in the background, should either re-register the IAX connection automatically or offer the user a choice to re-register. Re-registration in this event might be something to add in the configuration module.