Dialogic® Multimedia Software for AdvancedTCA Release 1.
Copyright © 2007-2008, Dialogic Corporation. All Rights Reserved. You may not reproduce this document in whole or in part without permission in writing from Dialogic Corporation. All contents of this document are furnished for informational use only and are subject to change without notice and do not represent a commitment on the part of Dialogic Corporation or its subsidiaries (“Dialogic”). Reasonable effort is made to ensure the accuracy of the information contained in the document.
About This Publication This section contains information about the following topics: • Purpose • Intended Audience • How to Use This Publication • Related Information Purpose This Release Update addresses issues associated with Dialogic® Multimedia Software for AdvancedTCA Release 1.0. In addition to summarizing issues that were known as of this release, the Release Update will continue to be updated to serve as the primary mechanism for communicating new issues that arise after the release date.
About This Publication Related Information See the following for additional information: • http://www.dialogic.com/manuals/ (for Dialogic® product documentation) • http://www.dialogic.com/support/ (for Dialogic technical support) • http://www.dialogic.com/ (for Dialogic® product information) 4 Dialogic® Multimedia Software for ATCA Release 1.
Document Revision History This Revision History summarizes the changes made in each published version of the Release Update for the Dialogic® Multimedia Platform for AdvancedTCA, which is a document that is periodically updated throughout the lifetime of the release. Document Rev 06 – published January 23, 2008 Made global changes to reflect Dialogic Brand and changed title to “Dialogic® Multimedia Software for AdvancedTCA Release 1.0 Release Update.
Document Revision History structure have updates for QCELP; updated table of supported audio coders in IPM_AUDIO_CODER_INFO section (EVRC change); updated IPM_AUDIO_CODER_OPTIONS_INFO structure (removed CODER_OPT_EVRC_SIGNALLING_OFF, CODER_OPT_EVRC_SIGNALLING_DIM_AND_BURST_HALF_RATE, CODER_OPT_EVRC_SIGNALLING_BLANK; added CODER_OPT_SIGNALING_OFF); updated example code for IPM_AUDIO_CODER_OPTIONS_INFO structure. Document Rev 03 – published May 1, 2007 Updated for Service Update 77.
Document Revision History • Added the following Resolved Defects: IPY00036309, IPY00036311, IPY00036314, IPY00036601, IPY00036911. In the Documentation Updates chapter: • Added update to the Dialogic® Multimedia API Library Reference for MM_VIDEO_CODEC data structure. Document Rev 01 – published January 2007 Initial version of document. Dialogic® Multimedia Software for ATCA Release 1.
Post-Release Developments 1. 1 This section describes significant changes to Dialogic® Multimedia Software for AdvancedTCA Release 1.0 subsequent to the general availability release date. • Service Update for Dialogic® Multimedia Software for AdvancedTCA Release 1.08 • Summary of Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 • Support for MSML Conferencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Summary of Features The following table lists the features introduced in service updates after the initial release of Dialogic® Multimedia Software for AdvancedTCA Release 1.0 and where to find more information about these features. Feature 1.3 Service Update For more information MSML conferencing 81 see Section 1.3, “Support for MSML Conferencing”, on page 9 and MSML Media Server User's Guide . AMR and EVRC in MSML 81 see Section 1.4, “Support for AMR and EVRC in MSML”, on page 9.
The QCELP coder type supports frame size of 20; frames per packet of 1, 2, or 3; and eVadEnableValue of CODER_VAD_DISABLE. Updates to IPM_AUDIO_CODER_OPTIONS_INFO The IPM_AUDIO_CODER_OPTIONS_INFO data structure has the following additional values: unCoderOptions For QCELP, set to CODER_OPT_SIGNALING_OFF. unParm1 For QCELP, where the media type is MEDIATYPE_AUDIO_REMOTE_CODER_OPTIONS_INFO, valid values are: • CODER_OPT_CDMA_RATE_REDUC - Rate reduction.
Release Issues 2. 2 The table below lists issues that can affect the hardware and software supported in the Dialogic® Multimedia Platform for AdvancedTCA. The following information is provided for each issue: Issue Type This classifies the type of release issue based on its effect on users and its disposition: • Known – A minor hardware or software issue. This category includes interoperability issues and compatibility issues. Known issues are still open but may or may not be fixed in the future.
Issues Sorted by Type, Dialogic® Multimedia Platform Issue Type Defect No. SU No. Product or Component Description Known IPY00035453 call control User cannot select TCP or UDP as mode of transport for SIP on per call basis. It can be set for all messages during initialization. Known IPY00034680 CLI When accessing the CLI, the three built-in accounts (acctmgr, admin, and craft) are not working. After the password is entered, the login prompt is returned instead of the cli prompt.
Issues Sorted by Type, Dialogic® Multimedia Platform (Continued) Issue Type Known Defect No. IPY00034601 SU No. Product or Component clocking Description The TDM clock manager does not switch to a valid clock that is located earlier in the fallback list before the failed entry. For example, if the last valid trunk clock source fails, the firmware chooses the internal oscillator as the clock source instead of a previously recovered trunk that is in the fallback list.
Issues Sorted by Type, Dialogic® Multimedia Platform (Continued) Issue Type Known Defect No. IPY00038149 SU No. Product or Component hardware Description Shut down is not supported by opening of the Dialogic® Multimedia Blade latch. The blue LED (hotswap LED) on the blade will blink indefinitely but never turn solid to indicate shut down complete. Workaround: To shut down the blade, log on locally through the serial port or connect over the network and initiate a shutdown.
Issues Sorted by Type, Dialogic® Multimedia Platform (Continued) Issue Type Known (permanent) SU No. Defect No. IPY00033953 Product or Component IPML Description Calling ipm_SetParm( ) without calling ipm_Open( ) causes the library to crash and the application to exception. Workaround: Do not call any IPML functions without first opening the device. Known (permanent) IPY00033884 IPML Calling ipm_SetParm( ) asynchronously three times per device sequentially for 360 devices hangs the library.
Issues Sorted by Type, Dialogic® Multimedia Platform (Continued) Issue Type SU No. Defect No. Product or Component Description Resolved IPY00036911 70 MSML Failure occurs when running 120 G.711 and 120 G.729 coders on the Dialogic® Multimedia Blade. Resolved IPY00036601 70 MSML CMR bits in octet aligned mode are in the wrong location of the AMR-NB RTP payload.
Issues Sorted by Type, Dialogic® Multimedia Platform (Continued) Issue Type Resolved SU No. Defect No. IPY00035425 77 Product or Component PSTN call control Description The firmware is printing unnecessary logs to the messages file. These messages can be ignored. The messages are similar to the following: Oct 19 11:10:31 py1atcatvl16 CLIAGENT: From Component: IPMS_ShowLinkAlarm : @ LastChange:0 seconds @ Oct 19 11:13:22 py1atcatvl16 ssp_x86Linux_boot: line 3056, file src/c/tsccomp.
Issues Sorted by Type, Dialogic® Multimedia Platform (Continued) Issue Type SU No. Defect No. Product or Component Description Resolved IPY00034276 -- video During video record, the recorded file may have missing video RTP packets. In a 3- second recording, 1 or 2 video RTP packets are dropped about 10% of the time. The problem can occur at both low and high densities.
Documentation Updates 3. 3 The documentation updates are divided into the following sections, which correspond to the top level categories used on the online documentation navigation page: • System Release Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 • Technical Product Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 • Programming Libraries Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• Dialogic® Conferencing (CNF) API Programming Guide • Dialogic® Device Management API Library Reference • Dialogic® Fax Software Reference • Dialogic® Global Call API Library Reference • Dialogic® Global Call API Programming Guide • Dialogic® Global Call IP Technology Guide • Dialogic® IP Media Library API Library Reference • Dialogic® IP Media Library API Programming Guide • Dialogic® Multimedia API Library Reference • Dialogic® Multimedia API Programming Guide • Dialogic® Standard Runtime Library API Lib
3.3.7 Dialogic® Global Call IP Technology Guide Update to Section 4.3.2, Setting Coder Information In Table 2, “Coders Supported for Dialogic® Host Media Processing (HMP) Software,” the following note should be added: • Global Call supports AMR-NB and EVRC coders in third-party call control (3PCC) mode only. These coder types cannot be explicitly set using the Global Call API, but can be specified using the IP Media Library (IPML) API. See the documentation updates in Section 3.3.
• To retrieve T.38 fax port information, set the eMediaType field to MEDIATYPE_LOCAL_UDPTL_T38_INFO and unCount to 1. Note: It is not possible to retrieve T.38 fax port information together with audio and/or video port information. Note: The RTCP port number is the RTP port number + 1. Update to the ipm_GetLocalMediaInfo( ) function In the code example of the ipm_GetLocalMediaInfo( ) function, replace the line: MediaInfo.unCount = 1; with: MediaInfo.
eIP_PARM Define PARMCH_LATENCYFRAMEINIT_AUDIO Description and Values Specifies the amount of Packet Loss Recovery (PLR) latency (delay) that can be introduced by defining the initial number of frames that can be buffered. This parameter defines the starting value for initial latency. When “fixed mode” is enabled (see PARMCH_LATENCYALG_AUDIO), the number of frames buffered can grow up to 1.5 times the starting value.
Update to the ipm_StartMedia( ) function An invalid state error is returned if a coder is not reserved prior to calling the ipm_StartMedia( ) function. All audio coders must be reserved using the dev_ReserveResourceEx( ) Dialogic® Device Management API library function prior to use in the ipm_StartMedia( ) function. Update to Chapter 3, Events The IPMEV_QOS_ALARM event description, on page 84, indicates that “No data is returned in the event.
Update for the unRedPayloadType field: For AMR, negotiated by call control.
• MEDIATYPE_VIDEO_REMOTE_CODER_INFO – remote receive video coder information • MEDIATYPE_VIDEO_REMOTE_RTCP_INFO – remote RTCP video port information • MEDIATYPE_VIDEO_REMOTE_RTP_INFO – remote RTP video port information Fax Values: • MEDIATYPE_FAX_SIGNAL – fax signal information to be transmitted towards IP during fax transmissions • MEDIATYPE_LOCAL_UDPTL_T38_INFO – local UDP packet T.38 information • MEDIATYPE_REMOTE_UDPTL_T38_INFO – remote UDP packet T.
ipm_GetCapabilities( ) retrieves capability (for example, coder) information Name: ipm_GetCapabilities(nDeviceHandle, a_CapType, a_num, a_CapabilitiesArray[], a_usMode); Inputs: int nDeviceHandle • IP Media device handle eCAPABILITY_TYPE a_CapType • capability type to be retrieved unsigned int a_num • number of entries in the capability array IPM_CAPABILITIES a_CapabilitiesArray[] • capability array unsigned short a_usMode • async or sync mode setting Returns: number of capabilities available -1 o
The datatype for the a_CapabilitiesArray[] parameter is a union, IPM_CAPABILITIES, which is defined as follows: typedef struct ipm_capabilities_tag { unsigned int version; union { IPM_CODER_INFO Coder; // Future types here. }; }IPM_CAPABILITIES; In this union, the IPM_CODER_INFO data structure provides coder details such as coder type, frame size, number of frames per packet, VAD enable/disable information, and payload-related information.
Example In this example, the first ipm_GetCapabilities( ) call retrieves only the number of capabilities available (count). That number is then used to allocate the right amount of memory and retrieve details of all the capabilities. #include
IPM_AUDIO_CODER_OPTIONS_INFO AMR and EVRC audio coder options typedef struct ipm_audio_coder_options_info_tag { unsigned int unVersion; unsigned int unCoderOptions; unsigned int unParm1; int nValue1; unsigned int unParm2; int nValue2; } IPM_AUDIO_CODER_OPTIONS_INFO; Description This data structure provides additional options when using AMR, EVRC, and QCELP audio coders. For information about QCELP (available as of Service Update 80), see Section 1.5, “Support for QCELP Codec”, on page 9.
unParm1 set to a value from the eIPM_CODER_OPTION_PARMS enumeration For AMR, set to 0. For EVRC, where the media type is MEDIATYPE_AUDIO_REMOTE_CODER_OPTIONS_INFO, valid value is: • CODER_OPT_INTERLEAVE_LENGTH - Reduce the listener’s perception of data loss by spreading such a loss over non-consecutive vocoder frames. • CODER_OPT_CDMA_RATE_REDUC - Rate reduction. Bit rate is varied to achieve a variety of average bit rates for more flexibility in bandwidth usage.
ipmMediaInfo.MediaData[unCount].eMediaType = MEDIATYPE_AUDIO_REMOTE_CODER_OPTIONS_INFO; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderOptionsInfo.unVersion = IPM_AUDIO_CODER_OPTIONS_INFO_VERSION; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderOptionsInfo.unCoderOptions = CODER_OPT_SIGNALING_OFF; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderOptionsInfo.unParm1 = CODER_OPT_INTERLEAVE_LENGTH; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderOptionsInfo.nValue1 = 6; ipmMediaInfo.
This feature is only supported when using the Session Initiation Protocol (SIP). None of the available Session Description Protocol (SDP) options are currently supported through Global Call (that is, direct first-party call control). The options are only available using third-party call control (3PCC), where the application is responsible for interpreting received SDP text strings and for constructing all outbound SDP text strings.
• “Octet-aligned,” to make the packet parsing easier for the AMR application. The AMR RTP payload format is specified in the new IPM_AUDIO_CODER_OPTIONS_INFO AudioCoderOptionsInfo structure (in the IPM_MEDIA structure). The MEDIATYPE_AUDIO_LOCAL_CODER_OPTIONS_INFO media type controls the receive side, and the MEDIATYPE_AUDIO_REMOTE_CODER_OPTIONS_INFO media type controls the transmit side. The IPM_MEDIA structure contains a union with an IPM_AUDIO_CODER_OPTIONS_INFO structure.
The following code demonstrates the configuration required to handle this scenario. ... /* Setup IP address here */ // Local Audio Coder ipmMediaInfo.MediaData[unCount].eMediaType = MEDIATYPE_AUDIO_LOCAL_CODER_INFO; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderInfo.eCoderType = CODER_TYPE_AMRNB_7_95k; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderInfo.eFrameSize = CODER_FRAMESIZE_20; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderInfo.unFramesPerPkt = 1; ipmMediaInfo.MediaData[unCount].
Local Side Remote Side FT=4 (7.4 kbit/s), CMR=5 (7.95 kbits/s) FT=5 (7.95 kbit/s), CMR=6 (10.2 kbit/s) FT=4 (7.4 kbit/s), CMR=5 (7.95 kbits/s) FT=5 (7.95 kbit/s), CMR=3 (6.7 kbit/s) FT=3 (6.7kbit/s), CMR=5 (7.95 kbit/s) Note: While the diagram above implies an immediate reaction to a CMR from the other side, in reality, the other side’s response to a CMR may take a few packets. The sequence of activities is as follows: 1.
ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderInfo.eCoderType = CODER_TYPE_AMRNB_7_4k; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderInfo.eFrameSize = CODER_FRAMESIZE_20; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderInfo.unFramesPerPkt = 1; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderInfo.eVadEnable = CODER_VAD_ENABLE ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderInfo.unCoderPayloadType = 96; ipmMediaInfo.MediaData[unCount].mediaInfo.AudioCoderInfo.
Resource reservation of audio coders The following information, which is applicable to the ATCA Multimedia Platform, should be added to the programming guide, possibly as a new chapter. Resource Reservation of Audio Coders The following sections describe the use of the IPML API and Device Management API in various scenarios for resource reservation of audio coders. Outbound Call 1.
Inbound Call 1. The INVITE from remote side specifies a list of coders. 2. Application may choose to reserve all or some of the coders that the remote side offered and then respond to the remote side with local coder capabilities based on the reservation. 3. Application proceeds with the call. 4. After the call is disconnected, the application releases all the reserved coders by either explicitly listing the reserved list or specifying the enum RESOURCE_IPM_ALL_AUDIO_CODERS.
8. Application releases coder by issuing a call to release RESOURCE_IPM_G723. Handling a Resource Reservation Failure 1. A call to reserve resources (RESOURCE_IPM_G726, RESOURCE_IPM_G729) fails for lack of available resources. Note: The reserve fails when one or more of the resources requested is not available. The application can query to check on resource availability prior to issuing a reserve request.
6. Application issues call to release resource RESOURCE_IPM_G726. Reservation State after a Subsequent Call to Resource Reservation Fails 1. Application issues call to reserve resources (RESOURCE_IPM_G726, RESOURCE_IPM_G729) and it succeeds. 2. Application starts media operation using G726. 3. Application receives a REINVITE request to use AMR coder. 4. Application stops media operation. 5. Application attempts to reserve RESOURCE_IPM_AMR – the call fails for lack of available resources.
9. Application issues call to release resources (RESOURCE_IPM_G726, RESOURCE_IPM_G729). It may also use a single enum RESOURCE_IPM_ALL_AUDIO_CODERS to release all the reserved audio coders as opposed to having to list every single one of them. 3.3.10 Dialogic® Multimedia API Library Reference Update to MM_VIDEO_CODEC data structure For mm_record( ), none of the fields in this data structure may be modified, as video transcoding is not currently supported. 3.3.
3.3.12 Dialogic® Standard Runtime Library API Library Reference There are currently no updates to this document. 3.3.13 Dialogic® Standard Runtime Library API Programming Guide There are currently no updates to this document. 3.3.14 Dialogic® Voice API Library Reference There are currently no updates to this document. 3.3.15 Dialogic® Voice API Programming Guide There are currently no updates to this document. 3.
Dialogic® Multimedia Software for ATCA Release 1.