Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

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
Goal
Solution


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
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback