This is documentation for Web Call Server 3.x

Take a look at our newest product Web Call Server 5

Web Call Server 5 product page

Developer guide

Server javadoc


Deployment scheme

Here is example of deployment Flashphoner with Javascript phone as a front-end.

Web-user --- Javascript wrapper(javascript/HTML) --- flashphoner_js_api.swf(Adobe Flash Player/RTMFP) ---- Flashphoner Web Call Server handler(Java/RTMFP) ---- Flashphoner core libs(Java,C/SIP,RTP) ---- VoIP environment(SIP,RTP) ---- VoIP Endpoint(SIP,RTP) ---- VoIP user

  • Web-user loads regular HTML page with Javascript/css wrapper
  • Javascript wrapper uses flashphoner_js_api.swf using Adobe Flash Player external interfaces.
  • flashphoner_js_api.swf is hidden. It used for playing video and working with security panel. 
  • flashphoner_js_api.swf communicates with phone_app server-side application over RTMP.
  • phone_app communicates with internal Flashphoner core libs, which responsible for SIP, RTP and codecs support.
  • Flashphoner core libs communicates with VoIP server over SIP and RTP.
    VoIP server may not proxy RTP traffic.
    In this case, Flashphoner core libs communicates with VoIP client directly over RTP.

Development layers


There are three layers for development and customization.

  1. HTML / Javascript / css layer. You can customize design here, or  implement you own  presentation logic using Javascript API
  2. Flex / AS3 layer. Here you can change internal flashphoner_js_api.swf and customize flash interface, which used for video playback and security panel.
  3. Java / Flashphoner Web Call Server layer. Here you can do deep server-side changes like billing or server-side integration with other software, databases, e.t.c.

Development package

We have combined all development layers described above into the flashphoner_client project.
flashphoner_client project contains Javascript phone, flashphoner_js_api.swf, phone.swf, phone_app sources.
You can download flashphoner_client installation package
You can also download flashphoner_client sources and build it yourself

How to build

  1. Download latest flashphoner_client sources
  2. Download latest Adobe Flex SDK and unpack it into /opt/flex directory.
    You can also use custom path for Flex SDK. Edit client/client/build.properties and client/api/build.properties to change Flex SDK path.
  3. Download latest released playerglobal.swc and copy it into %FLEX_SDK_HOME%/frameworks/libs/player/10.3 directory for 10.3 player features support.
  4. Give permissions for Flex SDK scripts using chmod:
     $chmod \+x *%FLEX_SDK_HOME%/bin* 
  5. Download and install  JDK 1.6 from oracle.com. See more info about JDK installation. JDK/JRE required for building phone_app and executing ANT scripts.
  6. Download and unpack Apache ANT
  7. Create symlink for ant: $ln -sf /usr/local/apache-ant-1.8.1/bin/ant /usr/bin
  8. Start builder
    It will create release directory, which contains installation package.
    $cd builder
    $chmod \+x builder.sh
    $./builder.sh
    
  9. Follow installation dialog
  10. Open PhoneJS.html page in browser to test installation result.
    You should see Javascript phone like this:


You can build development package modules using Flashbuilder4, IntelijIdea9 or you favorite IDEs.
Please read How to build Flex or Java project using Flashbuilder4 or Intelij9 (earlier documentation 791).

Flashphoner client

How to use Flashphoner-client sources

Flashphoner-client sources located on github.
To compile Flashphoner-client from sources, you need import it to Flash Builder 4.5 (you need sdk 4.5 as minimum).

Please follow this guide to compile flashphoner-client sources

  1. Get sources fom github
  2. Import flashphoner_api project to Flash Builder
  3. Make sure in project properties "compile settings" specified Flash Player 11
  4. Make sure library cairngorn.swc attached to project in project settings
  5. Compile flashphoner_api that
  6. After successfully compilation you will have flashphoner_api.swc library. You will need it further
  7. Import flashphoner_client project
  8. Make sure in project properties "compile settings" specified Flash Player 11
  9. Reattach flashphoner_api.swc as library 
    Do that for sure. you need exactly library what you compiled just now. Old library will not work
  10. Compile flashphoner_client project
  11. After compilation you will have flashphoner_js_api.swf file. That file used JS Phone for making calls.

Server javadoc

Javascript API

Labels

developer developer Delete
guide guide Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.