Table of Contents

Webphone SDK

Synopsis

The “Web Phone” is a flash video phone which allow to have a video call in a web browser.

Installation

Here is the HTML code to use to integrate the flashphone in an HTML page:

<script src="AC_OETags.js" language="javascript"></script>
<script language="JavaScript" type="text/javascript">
<!--
        AC_FL_RunContent(
                    "src", "FlashPhone",
                    "width", "900",
                    "height", "600",
                    "align", "middle",
                    "id", "FlashPhone",
                    "quality", "high",
                    "bgcolor", "#ffffff",
                    "name", "FlasPhone",
                    "allowScriptAccess","sameDomain",
                    "type", "application/x-shockwave-flash",
                    "pluginspage", "http://www.adobe.com/go/getflashplayer",
                    "allowFullScreen", "true",
                    "flashVars","authName=user1&authPass=1234&gatewayURL=rtmp://borja.i6net.org&videoSize=qcif&audioCodec=Speex&encodeQuality=5&videoQuality=90&videoBandwidth=12000&videoFps=3"
    );
//
 -->
</script>

FullScreen mode :

This mode allow to affect the maximum size of the remote video image in the browser window. It's not a real full screen mode. The real fullscreen mode can be start by a double click in remote video area.

For fullscreen mode, you need to add this javascript code, to get the web browser window size. You have to give this size to flash application

// For flashphone fullscreen get the window browser size to pass it to flashphone
var viewportwidth;
var viewportheight;

if ('fullscreen' == 'fullscreen')
{
    // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
    if (typeof window.innerWidth != 'undefined')
    {
      viewportwidth = window.innerWidth,
      viewportheight = window.innerHeight
    }

    // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

    else if (typeof document.documentElement != 'undefined'
     && typeof document.documentElement.clientWidth !=
     'undefined' && document.documentElement.clientWidth != 0)
    {
       viewportwidth = document.documentElement.clientWidth,
       viewportheight = document.documentElement.clientHeight
    }

    // older versions of IE

    else
    {
       viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
       viewportheight = document.getElementsByTagName('body')[0].clientHeight
    }
    //document.write('<p>Your viewport width is '+viewportwidth+'x'+viewportheight+'</p>');
    viewportwidth = viewportwidth - 20;
    viewportheight= viewportheight- 20;
}
else
{
    viewportwidth  = 530;
    viewportheight = 332;
}

...

    AC_FL_RunContent(
        "src", "playerProductInstall",
        "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
        
        "width", viewportwidth,
        "height", viewportheight,
        
        "align", "middle",
        "id", "FlashPhone",
        "quality", "high",
        "bgcolor", "#ffffff",
        "name", "FlashPhone",
        "allowScriptAccess","sameDomain",
        "flashVars", "look=fullscreen&defVideoUse=true&gatewayURL=rtmp://demo.i6net.org&videoSize=qcif&videoQuality=80&videoBandwidth=180000&autoCall=false&autoConnect=false",
        "type", "application/x-shockwave-flash",
        "pluginspage", "http://www.adobe.com/go/getflashplayer"
    );

Configuration

The Web Phone is configurable to change the video and or audio quality. These parameters are passed to flash phone, in HTML code, via variables in flashVars field.

Here are the supported parameters (default values are in bold) :

Parameter Value/Range Version Mini Description
authName As you want all User id or pseudo to use to connect to the server.
authPass As you want all Your own password.
gatewayURL URL all RTMP server to connect
videoSize qcif/cif all Please check your RTMP latest relase to get more sizes options. For more information, contact our support.

QCIF = 176 × 144
CIF = 352 × 288
audioCodec Speex/NellyMoser all Audio Codec name to use
encodeQuality Values in kbits/s all The encoded speech quality when using the Speex codec. Possible values are from 0 to 10. The default value is 6. Higher numbers represent higher quality but require more bandwidth, as shown in the following table. The bit rate values that are listed represent net bit rates and do not include packetization overhead.

0 : 3.95
1 : 5.75
2 : 7.75
3 : 9.80
4 : 12.8
5 : 16.8
6 : 20.6
7 : 23.8
8 : 27.8
9 : 34.2
10 : 42.2
videoQuality [0-100] all An integer that specifies the required level of picture quality, as determined by the amount of compression being applied to each video frame. Acceptable values range from 1 (lowest quality, maximum compression) to 100 (highest quality, no compression). To specify that picture quality can vary as needed to avoid exceeding bandwidth, pass 0 for quality. The default value is 0.
videoBandwith Value in bytes/s all An integer that specifies the maximum amount of bandwidth that the current outgoing video feed can use, in bytes per second. To specify that video can use as much bandwidth as needed to maintain the value of quality, pass 0 for bandwidth. The default value is 16384.
videoFps Default 15 all
Number of frame per second to send
look default
basic
player
playeraudio
camera
fullscreen
simple
simple2
master
agent
half
half2
autologin
microtest
micro
audio
audiokeypad
audio2
audioimg
all

















V1-18
Use an other skin than default one
defVideoUse false / true all Set the default camera use
autoConnect false / true all Use authName and authPass to login automatically
autoAnswer false / true all Answer any call automatically
autoCall false / true all Auto dial default service at start-up. Set 'targetURL' parameter to set the called number
targetURL ou called all Number to call in autoCall mode
showDtmf false/true Display DTMF in popup when receive it
showCalled false/true Display called number in top left corner of remote video
showDuration false/true Display called number in top right corner of remote video
showImgHangupCall false/true Display Hangup/Call image, in case of Simple/FullScreen … look
showLogo false/true V1-23 Display i6net logo
showStatus false/true V1-23 Display status led (green/orange/red)
showshowKeypad false/true V1-23 Display keypad for look audioimg
imgCall string V1-23 Image filename for Call button. Relative path or URL
imgHangup string V1-23 Image filename for Hangup button. Relative path or URL
saveSettings false/true Save settings
addCalledToConnect false/true V1-17 Specific feature for direct calls
randomLogin false/true V1-18 Generate automatically a login, even if authName is set
checkMic false/true V1-19 Display an alert message if no microphone is detected
checkCam false/true V1-19 Display an alert message if no camera is detected
alrmMicam false/true V1-19 Send alarm to server if no microphone or camera are detected
dbgonline false/true V1-20 Allow to see debug traces by press F4 key