SBX-49461 Generic Infrastructure to Play Tones as Announcements
The SBC Core supports playing announcements that are stored in G.711ULaw format. The SBC Core is enhanced to support playing compressed tones directly without allocating DSP resources by playing the tones from the pre-encoded files with various combinations of tones and codec types. The tone files are created for the required tone types with different codec combinations and stored as
.wav files in the SBC. For the compressed tones, the ptime is fixed to 20 milliseconds for EVRC/EVRCB and AMR-WB codecs.
The SBC Core is enhanced in this release with a new media profile,
tonesAsAnnouncement, which includes the following parameters to configure the announcement file to play Local Ringback Tone (LRBT) for each codec entry:
The existing Tone Profile references the
toneType in the
tonesAsAnnouncement profile, whereas the new object
toneCodecEntry references the
codecType. With this enhancement, the user can associate default Tone Profile or can create a customized Tone Profile and assign it to the
toneType of the
toneAsAnnouncementProfile. The flag
announcementBasedTones is included in
toneAndAnnouncementProfile configuration to play ringback tones without using DSP resources.
The SBC supports playing tones for three groups of codecs. If the required tone playback falls under one of the following codecs and the flag
announcementBasedTones is enabled, the SBC must avoid allocating DSP resources and play a tone as an announcement. If the required tone playback does not fall under one of the following codecs and the flag
announcementBasedTones is enabled, the SBC does not fall back to the DSP mode and continues the call without playing the tones.
- G.711 (G.711ALaw and G.711ULaw)
- EVRC (EVRC, EVRC0, EVRCB, and EVRCB0)
- AMR-WB-BWE (9 variants)
The SBC supports playing default ringtones with 15 different types of codec variants.
The compressed tone files are stored in the standard
.wav file format. The SBC uses the same naming convention for the compressed tone files as the announcement files. For example, in a
sDDDDD.wav file, where DDDDD is a decimal number from 1 to 65,535, the decimal number represents the segment ID of the file.
The announcement and the tone files share the 5-bit segment ID space, and thus, every file name must have a unique segment ID. The compressed tone files are stored in the same directory path as the announcement files
/var/log/sonus/sbx/announcements). The tone file is played continuously until the tone is stopped due to a trigger.
The following table provides the s20001.wav RBT_EVRC0 (Header free packet mode)
.wav file mapping information for the application announcements:
File Name Announcement ID RBT Audio Message 20001 RBT_MULAW US Ring Back Tone s20002.wav 20002 RBT_ALAW US Ring Back Tone s20003.wav 20003 RBT_EVRC (interleaved mode) US Ring Back Tone s20004.wav 20004 RBT_EVRCB (interleaved mode) US Ring Back Tone s20005.wav 20005 RBT_AMRWBBE_6_6K US Ring Back Tone s20006.wav 20006 RBT_AMRWBBE_8_85K US Ring Back Tone s20007.wav 20007 RBT_AMRWBBE_12_65K US Ring Back Tone s20008.wav 20008 RBT_AMRWBBE_14_25K US Ring Back Tone s20009.wav 20009 RBT_AMRWBBE_15_85K US Ring Back Tone s20010.wav 20010 RBT_AMRWBBE_18_25K US Ring Back Tone s20011.wav 20011 RBT_AMRWBBE_19_85K US Ring Back Tone s20012.wav 20012 RBT_AMRWBBE_23_05K US Ring Back Tone s20013.wav 20013 RBT_AMRWBBE_23_85K US Ring Back Tone s20014.wav 20014 US Ring Back Tone s20015.wav 20015 RBT_EVRCB0 (Header free packet mode) US Ring Back Tone
RBT_EVRC0 (Header free packet mode)
.wav files for tones other than g711 a and u law are in Sonus proprietary format.
LMSD - Tone Play Support
The SBC supports playing tones when an Alert-Info header is received in the Legacy Mobile Station Domain (LMSD) format (Alert-Info: <http:/LMSD/tone?sig-id=rt>). The SBC is enhanced to play the ringback tone without using DSP resources whenever it receives 180 with Session Description Protocol (SDP) answer with Alert-Info header (Alert-Info: <http:/LMSD/tone?sig-id=rt>). The Alert-Info header, present in the 180 ringing with SDP, carries the tone package information required by the SBC to play ringback tone. To support this feature, the existing LRBT framework is enhanced.
The SBC supports generating LRBT when:
- The flag
acceptAlertInfois enabled on the egress TG.
- The provisional response is 180 ringing with SDP and the tone flavor is normal.
- The P-Com.DropEarlyMedia header is not present in the original INVITE.
- The SDP answer is received in 180 or in a previous provisional response (183).
- The 180 contains an Alert-Info header having sig-id = “rt” only (bt/ct does not play tone).
- The flag
toneAndAnnouncementProfileassociated with the ingress TG is enabled.
The SBC supports fallback to LMSD interworking state, if the flag
acceptAlertInfo is enabled and the playing tone is failed. If the flag
acceptAlertInfo is not enabled, the SBC continues to process the call without playing a tone.
SBX-50087 LMSD - Play Tones Using Lock Down Preferred Codec
The SBC plays tones using the “lock down" preferred codec when the following flags are enabled:
The codec, which is used for playing tone towards the ingress leg, is based on whether the session is established as pass-through or transcoded. If the SBC receives SDP answer from the egress peer, the selected codec is the egress peer's preferred codec. However, the ingress peer's preferred codec is used to play the tone, if the session outcome is transcoding.
The SBC plays tones when it receives 180 responses with SDP for the egress peer preferred codec. When the 180 response is received without SDP from the egress peer, the SBC plays ringback tones based on the existing LRBT implementation using the ingress peer preferred codec. For more information on LRBT, refer to Tone and Announcement Profile - CLI.
SBX-50082 LMSD - Handling UPDATEs for the Tones
The SBC is enhanced to stop playing ringback tones upon receipt of any of the following messages:
- UPDATE message with different SDP
- subsequent 183 with different SDP
- 200 OK with or without SDP