Client configs
flashphoner.xml
Located on your web server: /flashphoner_client/flashphoner.xml
<?xml version="1.0" encoding="UTF-8"?> <flashphoner> <rtmp_server>rtmp://192.168.1.5:1935</rtmp_server> <register_required>true</register_required> <application>phone_app</application> <video_width>320</video_width> <video_height>240</video_height> <buffer_time>0</buffer_time> <check_validation_callee>true</check_validation_callee> <use_enhanced_mic>true</use_enhanced_mic> <ring_sound></ring_sound> <busy_sound></busy_sound> <register_sound></register_sound> <finish_sound></finish_sound> </flashphoner>
| Parameter name | Default value | Format | Description |
|---|---|---|---|
| <rtmp_server> | xx.xx.xx.xx | IP adress or hostname | Address of Flashphoner server to which you want to connect |
| <register_required> | true | Boolean | Is register on the VoIP server required? Set it false if you will use Flashphoner client as a click2call button |
| <application> | phone_app | String | Server-side application name. flashphoner_app by default. This application bundled with Flashphoner. |
| <video_width> | 176 | int | Maximum video width of outgoing video stream Flash to SIP. Used for H.264 codec only. |
| <video_height> | 144 | int | Maximum video height of outgoing video stream Flash to SIP. Used for H.264 codec only. |
| <buffer_time> | 0 | int | Playback buffer time in seconds |
| <check_validation_callee> | true | Boolean | Is Flashphoner client must validate input data (like phone number or sip account name)? |
| <use_enhanced_mic> | true | Boolean | Use enchanced microphone with echo cancellation feature. See also Echo cancellation |
| <ring_sound> | - | File name | File name for ring sound. Leave it blank to use flashphoner default |
| <busy_sound> | - | File name | File name for busy sound. Leave it blank to use flashphoner default |
| <register_sound> | - | File name |
File name for register sound. Leave it blank to use flashphoner default |
| <finish_sound> | - | File name |
File name for finish sound. Leave it blank to use flashphoner default |
flashphoner-client.properties
Located in: /usr/local/WowzaMediaServer/conf/phone-app/flashphoner-client.properties
get_callee_url =http://.../callee.xml auto_login_url =http://.../account.xml allow_domains =
| Parameter name | Default value | Format | Description |
|---|---|---|---|
| get_callee_url | /usr/local/WowzaMediaServer/conf/phone_app/callee.xml | URL or path to file | This parameter points to the file where is direction of the call is set. You can gerenate this file dynamically by token or click2call URL (example) File must have such format: callee.xml <callee account="callee"/>
|
| auto_login_url | /usr/local/WowzaMediaServer/conf/phone_app/account.xml | URL or path to file | This parameter points to the file where is caller account is set. You can generate this file bynamically by token or click2call URL (example) File must have sich fromat. account.xml <root refistered="..." login="..." authenticationName="..." password="..." outboundProxy="..." domain="..." port="..." visibleName="..." />
|
| allow_domains | - | URL or ip | This parameter specifies list of domains/ip, which Flashphoner will allow to connect. That mean if somebody take your c2c button and put it on him site - it will not work, because Flashphoner will not handle connect from his domain. |
Server configs
flashphoner.properties
Located in: /usr/local/WowzaMediaServer/conf/flashphoner.properties
Critical parameters marked red
| Parameter name | Default value | Format | Description | ||
|---|---|---|---|---|---|
| ip | - | xxx.xxx.xxx.xxx | External IP-address of server where Flashphoner installed more info | ||
| ip_local | - | xxx.xxx.xxx.xxx | Local IP-address of server where Flashphoner installed more info | ||
| Ports | |||||
| port_from | 30000 | Int (1, 65536) | Begin of range of ports for SIP signaling | ||
| port_to | 31000 | Int (1, 65536) | End of range of ports for SIP signaling | ||
| media_port_from | 31001 | Int (1, 65536) | Begin of range of ports for media-traffic | ||
| media_port_to | 32000 | Int (1, 65536) | End of range of ports for media-traffic | ||
| License | |||||
| serial_number | - | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | Flashponer license key. Required parameter. You can get free Developer license key here. |
||
| Headers | |||||
| user_agent | Flashphoner/1.0 | Flashphoner/1.0 | SIP User Agent | ||
| balance_header | balance | String | SIP header name for balance info | ||
| cost_header | cost | String | SIP header name for cost info | ||
| SIP provider | |||||
| domain | - | xxxxxxx.xxx / xxx.xxx.xxx.xxx | Domain address (domain name or ip address). If you specify it here - parameters sip_proxy:port from client will be ignored. This one will be used for all webphones. If you use auto login model, please be carefull - domain:port from account.xml config will be dominate by domain:port from flashphoner.properties config. |
||
| outbound_proxy | - | xxxxxxx.xxx / xxx.xxx.xxx.xxx | Outbound proxy (domain name or ip address). If you specify it here - parameters sip_proxy:port from client will be ignored. This one will be used for all webphones. If you use auto login model, please be carefull - domain:port from account.xml config will be dominate by domain:port from flashphoner.properties config. |
||
| outbound_port | - | Integer | Outbound port. Used for connecting ports different from default 5060. | ||
| Audio / Video | |||||
| video_enabled |
true |
Boolean |
Is video support enabled |
||
| profiles | 42001e,42801e,42000d,42000a |
String |
H.264 profiles supported by Flashphoner |
||
| rtp_activity_detecting | true,5 | Boolean,int | Is rtp actitvity detecting enabled. If it true - calls will hanguped when one side stop to send rtp packets int - amount of time in seconds, after which the hangup |
||
| codecs | speex16,alaw,ulaw,telephone-event,g729,flv,h264,h263 | codec1,codec2,codec3... | Comma separated list of codecs ordered by priority. Available values: alaw, ulaw, speex16, g729, h263,h264,telephone-event
|
||
| video_resolution_detecting |
true |
Boolean |
If true, notify client about video resolution of incoming H.264 stream. If false, use default resolution 176x144 |
||
| record |
- | String | Folder, where you would like to save recorded audio calls. Example: /tmp/mycalls If this parameter is empty, calls will not be recorded. See calls recording page for more info. |
||
| preserve_non_mixed_recorded_files |
false | Boolean | Keep "incoming" and "outgoing" recorded files if true. If this value is false, Flashphoner will keep mixed result file only. | ||
| Signaling | |||||
| dtmf |
info |
String | Set DTMF signals format. Vaules: info, rfc2833, info_relay | ||
| sip_msg_listener | - | <full java class name> | Used for intercepting and overriding SIP messages between Flashphoner and VoIP server See about ISipMessageListener interface |
||
| QoS and TOS | |||||
| sip_traffic_class | 0 | int [0,255] | Type of service value for outgoing SIP traffic. See QoS and TOS support for more details. | ||
| rtp_traffic_class | 0 | int [0,255] | Type of service value for outgoing RTP traffic. See QoS and TOS support for more details. | ||
| Logs | |||||
| log_level |
5 |
Integer |
Log level 0-lowest, 10-highest(detailed) |
||
| enable_context_logs | false | Boolean | Enable detailed logs | ||
| Quality / latency tuning | |||||
| in_jitter_buffer_enabled | true | Boolean | Configure quality - latency balance |
||
| out_jitter_buffer_enabled | true | Boolean | Configure quality - latency balance |
||
| min_drop_rate | 0.5 | Float | Configure quality - latency balance |
||
| max_drop_rate | 1 | Float | Configure quality - latency balance |
||
| min_queue_size | 10 | Integer | Configure quality - latency balance |
||
| max_queue_size | 50 | Integer | Configure quality - latency balance |
||
| timing_shift | 0 | Integer | Configure quality - latency balance |
||
| speex_in_policy | good | Integer | Speex voice quality tuning | ||
| other | |||||
| options2flash_delegate |
false | Boolean | Used for transferring OPTIONS requests to flash client. options2flash_delegate=true Server will check if flash client is still connected on any OPTIONS request, and if so - send OK as answer. options2flash_delegate=false Server will immediately answer OK to any incoming OPTIONS requests |
Logs
Tcpdump logs
- Install Tcpdump
$yum install tcpdump
- Run tcpdump logging
$tcpdump udp -s 2048 -w flashphoner.pcap
- Stop tcpdump logging
Ctrl+C
JMX console configuring
- Edit WowzaMediaServer/conf/Server.xml file. Set:
<JMXRemoteConfiguration><Enable>true</Enable>...
Crushes detecting logs
- Edit WowzaMediaServer/bin/setenv.sh file. Add line:
JAVA_OPTS="$JAVA_OPTS -XX:ErrorFile=$WMSAPP_HOME/logs/error%p.log"
Stdout logs
- Edit WowzaMediaServer/bin/wms.sh file. Replace:
/dev/nullto
$WMSAPP_HOME/logs/flashphoner_stdout.log
Reports
System report
There are two ways of creating system report:
Authomatic
Download and execute reporting script:
$wget http://flashphoner.com/downloads/create_report.sh $chmod +x create_report.sh $./create_report.shFile flashphoner.report will be created. Please send it to [email protected]
Manual
Execute such commands and save results in the text file:
$uname -a $cat /proc/version $java -version $ls -l /usr/local | grep Wowza $cat /usr/local/WowzaMediaServer/bin/setenv.sh $cat /usr/local/WowzaMediaServer/conf/flashphoner.version $cat /usr/local/WowzaMediaServer/conf/flashphoner_patch.version $cat /usr/local/WowzaMediaServer/conf/flashphoner.properties $cat /proc/cpuinfo
Please send result file to [email protected]
ELF report
There are some problems with portability of native libraries from one Linux distribution to another.
The libs has been compiled under CentOS and may give some problems on some distrs like: "ELF file OS ABI invalid" error.
How to create report for this error:
- Install file and readelf command
$yum install file
$yum install readelf - Download and run script: http://flashphoner.com/downloads/system_elf_report.sh
- Script will create report in such form: elf-report-2011-09-21-09-04