Asset ID: |
1-71-1991565.1 |
Update Date: | 2018-04-28 |
Keywords: | |
Solution Type
Technical Instruction Sure
Solution
1991565.1
:
SPL Media Playback functionality (Local Media Playback)
Related Items |
- Acme Packet 3820
- Acme Packet 4500
|
Related Categories |
- PLA-Support>Sun Systems>CommsGBU>Session Delivery Network>SN-SND: Acme Service Provider
- Tools>Primary Use>Configuration
|
In this Document
Applies to:
Acme Packet 4500 - Version E-Cx6.4.0 to E-Cx6.4.0 [Release E-Cx6.0]
Acme Packet 3820 - Version E-Cx6.4.0 to E-Cx6.4.0 [Release E-Cx6.0]
Acme Packet 4500
Acme Packet 3820
Goal
How to implement/Configure SPL Media Playback functionality
Solution
Session Plug-in Language (SPL) tool based on the open scripting language.
An SPL is an executable customized script created to implement a feature on the NN-ESD quick and easy.
All SPLs in Release E-C[xz]6.4.0 are part of the Net-Net ESD software and DO NOT require that you load and enable them.
The SPLs are automatically loaded when the software is installed (except for the Comfort Noise Generation SPL which must be loaded manually).
Here We are more specifc about Local Media Playback SPL. Commonly, ringback is the media playback of a certain tone informing callers their calls are in progress.
SPL Files:
All SPLs in Release E-C[xz]6.4.0 are part of the Net-Net ESD software and DO NOT require that you load and enable them. The SPLs are automatically loaded when the software is installed (except for the Comfort Noise Generation SPL which must be loaded manually).
By default SPL are present as a part of software and you will able to see it when you do show directory modules.
When you manually add any SPL inside SBC then it should be placed in /code/spl and the you need to add spl inside spl-config>plugins and save-config followed by activate-config to enable it.
ACMESYSTEM(spl-config)# plugins
ACMESYSTEM(spl-plugins)#
ACMESYSTEM(spl-plugins)#name MediaPlayback.1.0.spl
3820-115# show directory modules
Listing Directory modules:
drwxrwxrwx 1 0 0 512 Jan 27 17:45 ./
drwxrwxrwx 1 0 0 512 Jan 29 08:59 ../
-rwxrwxrwx 1 0 0 10475 Jul 28 2014 RunSetupWizard.1.0.spl
-rwxrwxrwx 1 0 0 9827 Jul 28 2014 SIPSessionDashboard.1.0.spl
-rwxrwxrwx 1 0 0 4127 Jul 28 2014 ConfigCSV.1.3.spl
-rwxrwxrwx 1 0 0 1775 Jul 28 2014 LyncEmergencyCall.1.0.spl
-rwxrwxrwx 1 0 0 2995 Jul 28 2014 ConfigShowWidget.1.0.spl
-rwxrwxrwx 1 0 0 4603 Jul 28 2014 AttendedTransfer.1.0.spl
-rwxrwxrwx 1 0 0 2135 Jul 28 2014 HealthDashboard.1.0.spl
-rwxrwxrwx 1 0 0 1431 Jul 28 2014 FavoriteWidgets.1.0.spl
-rwxrwxrwx 1 0 0 9267 Jul 28 2014 SIPMessageDashboard.1.0.spl
-rwxrwxrwx 1 0 0 8735 Jul 28 2014 SearchConfigurationInterface.1.0.spl
-rwxrwxrwx 1 0 0 1435 Jul 28 2014 DashboardCommon.1.0.spl
-rwxrwxrwx 1 0 0 3355 Jul 28 2014 BootParamWizard.1.2.spl
-rwxrwxrwx 1 0 0 1831 Jul 28 2014 TimezoneWizard.1.0.spl
-rwxrwxrwx 1 0 0 6407 Jul 28 2014 ElinGateway.1.1.spl
-rwxrwxrwx 1 0 0 3887 Jul 28 2014 UniversalCallId.5.spl
-rwxrwxrwx 1 0 0 3539 Jul 28 2014 ConfigDashboard.1.0.spl
-rwxrwxrwx 1 0 0 1579 Jul 28 2014 RFC5626.1.2.spl
-rwxrwxrwx 1 0 0 19199 Jul 28 2014 ExpertConfigurationInterface.1.2.spl
-rwxrwxrwx 1 0 0 12115 Jul 28 2014 DefaultConfigurationInterface.1.4.spl
-rwxrwxrwx 1 0 0 2331 Jul 28 2014 SystemInfoDashboard.1.0.spl
-rwxrwxrwx 1 0 0 3483 Jul 28 2014 MediaPlayback.1.1.spl
-rwxrwxrwx 1 0 0 2983 Jul 28 2014 SystemUpgradeWizard.1.0.spl
-rwxrwxrwx 1 0 0 4055 Jul 28 2014 SipHeaderExtensionMetadata.1.3.spl
-rwxrwxrwx 1 0 0 8563 Jul 28 2014 CPUMemDashboard.1.0.spl
How to generate RAW audio file:
In order to implement local Media Playback You must upload a file containing to /code/media on the Net-Net ESD for the media you want played. This file must be raw media binary containing data for the desired codec.
You need to have a wave (.wav) file of the recording you want to play. Then save it in RAW (headerless) mode with the codec you want.
Audacity was the tool engineering used here for testing, but there are many others. It uses "Uncompressed Export Setup" where you select:
Header = RAW (header-less)
Encoding = <your selected encoding>
The files are read in by the SBC and put directly into the payload of RTP packets at the specified rate - so if you configured 8000 bytes per second assuming 20ms packetization time (50 packets per second), we will put 160 bytes (8000 / 50) in every RTP packet's payload.
Goto audacity.com and download.
Install it.
Start it up, file / open uk_ringback_tone.wav
Create PCMU.raw and PCMA.raw by changing "Projected Rate (Hz)" lower left of screen to 8000,
then use file / Export Audio,
File name: PCMA or PCMU
Save as type: Other uncompressed files
select Options
Header: RAW (header-less)
encoding: U-Law or A-Law
select OK
select Save
How To configure SPL Media Playback:
Please refer ACLI guide for configuration part (Chapter 23: Session Plug-in Language (SPL))
http://docs.oracle.com/cd/E50372_01/doc/esbc_ecxz640_configuration.pdf
Sample configuration output's from lab machine running on ECX640
Listing Directory /code/media:
drwxrwxrwx 1 0 0 4096 Jan 27 11:10 ./
drwxrwxrwx 1 0 0 4096 Jan 29 08:56 ../
-rwxrwxrwx 1 0 0 144000 Jan 27 11:10 pcma.raw
3820-115# show running-config playback-config
playback-config
name ringback
entry
encoding PCMA
filename pcma.raw
bytes-per-sec 8000
last-modified-by admin@10.191.219.227
last-modified-date 2015-01-27 17:36:06
spl-options "playback-on-183-from-terminator=ringback" on session-agent
Extract from log.sipd (Media Playback Test on lab 3820):
Jan 29 07:46:32.938 [SIP] Marking Session as an 18X Session
Jan 29 07:46:32.938 [TRANS] ST provisional Status Code=183 RealmIn=peer
Jan 29 07:46:32.938 [SPC] Executing 0 callbacks at CL_SIP_DIALOG_SERVER_TRANS_SEND
Jan 29 07:46:32.938 [SPC] Executing 3 callbacks at CL_SIP_SERVER_TRANS_SEND
Jan 29 07:46:32.938 [SPC] Executing SPL callback from file: ElinGateway.1.1.spl
Jan 29 07:46:32.938 [SPC] Executing SPL callback from file: MediaPlayback.1.1.spl
Jan 29 07:46:32.938 [SPL] Media playback trigger183 <====================================================== Media Playback Trigger on receipt of 183
Jan 29 07:46:32.938 [SPL] Trigger media playback on 183 response
Jan 29 07:46:32.938 [SPL] Starting media playback: media:ringback direction:originator duration:continuous <==================== media: ringback where "ringback" is a playback-config name
Jan 29 07:46:32.938 [MEDIA] Start media playback for ringback inEast:0 duration:-1
Jan 29 07:46:32.938 [MEDIA] Playback info: encoding:PCMA payloadType:8 ptime:0 streamIdx:0
Jan 29 07:46:32.938 [MEDIA] Media playback message flow_id:65541 duration: -1 payloadType: 8 encoding: PCMA ptime: 20 <========= playing Media Playback RTP
Jan 29 07:46:32.939 [SPC] Creating table of name 'AcmeSipMediaDataTable' with key [0x2cf04a04]
Jan 29 07:46:32.939 [SPC] Registering dynamic callback
Jan 29 07:46:32.939 [SPC] Registered function 33 to callback CL_SIP_SERVER_TRANS_SEND
Jan 29 07:46:32.939 [SPC] Executing SPL callback from file: MediaPlayback.1.1.spl
Jan 29 07:46:32.939 [SPC] Checking and executing dynamic callbacks for CL_SIP_SERVER_TRANS_SEND
Jan 29 07:46:32.939 [SPC] Executing SPL callback
Please note that Media playback is not supported on 7.x streams. Engineering is planning to reintroduce it in 7.3m1
Attachments
This solution has no attachment