Client config flashphoner.xml
Edit: 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 | Describe |
|---|---|---|---|
| <rtmp_server> | xx.xx.xx.xx | xxx.xxx.xxx.xxx | 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 |
Server config flashphoner.properties
Edit /usr/local/WowzaMediaServer/conf/flashphoner.properties file
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 | ||
| 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 | ||
| serial_number | - | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | Flashponer license key. Leave it blank, if you want use Free 10-connect Developer Version. |
||
| 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 | ||
| video_enabled | true | Boolean | Is video support enabled | ||
| domain | - | xxxxxxx.com | Domain address. If you specify it here - parameters sip_proxy:port from client will be ignored. This one will be used for all client applications. | ||
| outbound_proxy | - | xxxxxxx.com | Outbound proxy. If you specify it here - parameters sip_proxy:port from client will be ignored. This one will be used for all client applications. | ||
| work_around | false | Boolean | Set 'true' if you want work with www.voipbuster.com. This operator does not comply with the specification RFC3261, so workaround neccessary here. | ||
| callee | - | username | Call destination where your click2call widget will call Example: callee=my_sip_login |
||
| 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
|
||
| sip_msg_listener | - | <full java class name> | Used for intercepting and overriding SIP messages between Flashphoner and VoIP server See about ISipMessageListener interface |
||
| 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. | ||
| 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. |
||
| dtmf | info | String | Set format of DTMF signals, values: info, rfc2833, info_relay are correct | ||
| enable_context_logs | false | Boolean | Enable detailed logs | ||
| 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 | ||
| log_level | 5 | Integer | Log level 0-lowest, 10-highest(detailed) | ||
| profiles | 42001e,42801e,42000d,42000a |
String | H.264 profiles supported by Flashphoner | ||
| video_resolution_detecting |
true | Boolean | If true, notify client about video resolution of incoming H.264 stream. If false, use default resolution 176x144 | ||
| auto_login_url | - | String | If client sends token parameter, this URL will be requested for credentials. See autologin section |
Server logs
- Open file log4j.properties located in usr/local/WowzaMediaServer/conf
- Find this string
log4j.rootCategory=INFO, stdout
- Change it to this
log4j.rootCategory=INFO, stdout, flashphonerAppender
- Add this rows
# Flashphoner appender log4j.appender.flashphonerAppender=org.apache.log4j.DailyRollingFileAppender log4j.appender.flashphonerAppender.DatePattern='.'yyyy-MM-dd log4j.appender.flashphonerAppender.layout=com.wowza.wms.logging.ECLFPatternLayout log4j.appender.flashphonerAppender.layout.Fields=date,time,x-duration,x-severity,x-category,x-event,x-ctx,x-comment log4j.appender.flashphonerAppender.layout.OutputHeader=false log4j.appender.flashphonerAppender.layout.QuoteFields=false log4j.appender.flashphonerAppender.layout.Delimeter=space log4j.appender.flashphonerAppender.File=${com.wowza.wms.ConfigHome}/logs/flashphoner.log - Save the file
- Open flashphoner.properties file located in /usr/local/WowzaMediaServer/conf
- Save the file
- Restart Wowza
- Logs are configured and you can monitor it now:
$tail -f /usr/local/WowzaMediaServer/logs/flashphoner.log
Server Debug logs
- Open log4j.properties file (see Server logs to find this config).
- Change INFO to DEBUG in the first line:
fromlog4j.rootCategory=INFO, stdout, flashphoner
to
log4j.rootCategory=DEBUG, stdout, flashphoner
- Save log4j.properties file, restart server and reproduce issue.
- You can monitor logs in flashphoner.log file if it has configured before (see Server logs to find this config).
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
- 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
How to create 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