{"id":1625,"date":"2012-04-12T18:03:57","date_gmt":"2012-04-12T18:03:57","guid":{"rendered":"http:\/\/192.168.16.235\/?page_id=1625"},"modified":"2012-04-12T18:03:57","modified_gmt":"2012-04-12T18:03:57","slug":"powercall-for-otf","status":"publish","type":"page","link":"https:\/\/commetrex.com\/?page_id=1625","title":{"rendered":"PowerCall for OTF"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-thumbnail wp-image-1629\" title=\"A101b1\" src=\"http:\/\/commetrex.com\/wp-content\/uploads\/2012\/04\/A101b1-125x93.jpg\" alt=\"PowerCall for OTF\" width=\"125\" height=\"93\" \/>OTF, Commetrex\u2019 S.100 middleware, is licensed without media-processing resources. PowerCall for OTF adds S.100-conforming signal generation-detection capability and in-band call-progress analysis to an OTF system. The PowerCall OTF SDK provides the necessary development environment; runtime licenses add a specific number of runtime resources to an OTF system.<\/p>\n<p>The PowerCall for OTF SDK provides an ECTF S.100 Signal Generator-Detector API. It is used with the System Call Router (place call\/accept call) and other OTF Services APIs by the telecommunications system developer to produce digital-media telephony applications.<\/p>\n<p>Telephony applications that use the public switched telephone network for outbound calling require the ability to accurately and rapidly interpret the call-progress tones, such as ringback and busy, that are delivered by the network to the calling entity. This <a title=\"Call-Progress Analysis\" href=\"http:\/\/commetrex.com\/products\/call-progress-analysis\/\">Call Progress Analysis<\/a> (CPA) is complicated by the lack of the worldwide use of standard tone frequencies and patterns. The design of PowerCall signal-processing software, therefore, must address the tradeoff between speed of analysis and generality. Commetrex\u2019 CPA is designed to minimize support requirements by providing an analysis resource that does not require tuning for over 99% of applications, even for global deployments, while providing fast, accurate responses.<\/p>\n<p>Commetrex\u2019 <a title=\"Signal Generator\/Detector\" href=\"http:\/\/commetrex.com\/products\/signal-generatordetector\/\">Signal Generator\/Detector<\/a> (SGD) furnishes all necessary functionality at the physical-layer level to support in-band telephony-signaling functions. Specifically, the SGD implements signal-processing to generate and detect DTMF and Multi-frequency (MF) (R1\/R2) digits as well as any generic in-band tone comprised of up to two frequencies. The SGD is compliant with the ITU Q.24 recommendation.<\/p>\n<h2><span>Features<\/span><\/h2>\n<ul>\n<li>Universal compatibility<\/li>\n<li>Detect ringback, busy, reorder, SIT, dialtone, voice answer, and modem answer.<\/li>\n<li>Detect voice, voice followed by silence then voice.<\/li>\n<li>Generate\/detect DTMF, MF R1 and R2<\/li>\n<li>Generate\/detect general bi-frequency tones<\/li>\n<li>S.100 application portability Benefits<\/li>\n<\/ul>\n<h2><span>Benefits<\/span><\/h2>\n<ul>\n<li>Worldwide marketing of your product<\/li>\n<li>Fast, accurate detection<\/li>\n<li>Low support costs<\/li>\n<li>Low implementation costs<\/li>\n<li>Low resource utilization<\/li>\n<\/ul>\n<h2><span>Overview<\/span><\/h2>\n<p>OTF is an ECTF S.100 R2-conforming telephony middleware product that supports both third-party and Commetrex-provided media and switching resources. These vendor- specific resources are isolated from the OTF system by Resource Service Managers (RSMs). The resource-specific RSM determines the number of concurrent media- technology resources that have been licensed. The RSM then launches the appropriate Resource Controllers. Licensing the PowerCall SDK adds the CPA and Signal Generator- Detector Resource Controller to an OTF system. The RSM will then vend the licensed runtime resources to the OTF Group Manager, which can then allocate them to client applications.<\/p>\n<p>The signal generation and detection functions of PowerCall may be directly accessed by an application program using the supplied S.100- conforming API. The tone generation and CPA functions are also invoked on behalf of applications that place calls through OTF\u2019s System Call Router (SCR). The SCR API presents a network-access-independent interface to the application. Should the target of a CTscr_MakeCall() command be a network interface that requires DTMF dialing and in- band CPA, these functions will be invoked by the appropriate resource service manager on behalf of the SCR.<\/p>\n<h2><span>DTMF\/MF and Precise Tone Generation<\/span><\/h2>\n<p>The Signal Generator is controlled by one function, CTsg_SendSignals(). The tables that follow show the user-defined parameters for DTMF, MF, and a generic tone generation.<\/p>\n<p><strong>DTMF and MF Parameters<\/strong><\/p>\n<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td align=\"center\">Parm Name<\/td>\n<td align=\"center\">Type<\/td>\n<td align=\"center\">Default<\/td>\n<td align=\"center\">Units<\/td>\n<td align=\"center\">Description<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Level 1<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">-6<\/td>\n<td align=\"center\">dBm<\/td>\n<td align=\"center\">The level of the low frequency component of the DTMF pair. Valid range \u2013 43 to \u20133.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Level 2<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">-4<\/td>\n<td align=\"center\">dBm<\/td>\n<td align=\"center\">The level of the high frequency component of the DTMF pair. Valid range \u2013 43 to \u20133.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">LongPause<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">5000<\/td>\n<td align=\"center\">Msec<\/td>\n<td align=\"center\">The delay associated with the \u2018.\u2019 (period) character. Valid range 0-65535.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Off Time<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">55<\/td>\n<td align=\"center\">Msec<\/td>\n<td align=\"center\">The duration of the silence time between each DTMF digit. Valid range is 0\u201365535.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">On Time<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">45<\/td>\n<td align=\"center\">Msec<\/td>\n<td align=\"center\">The duration of each DTMF digit. Valid range is 0\u201365535.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">ShortPause<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">2000<\/td>\n<td align=\"center\">Msec<\/td>\n<td align=\"center\">The delay associated with the \u2018,\u2019 (comma) character. Valid range 0-65535.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Generic Tone Parameters<\/strong><\/p>\n<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td align=\"center\">Parameter Name<\/td>\n<td align=\"center\">Type<\/td>\n<td align=\"center\">Default<\/td>\n<td align=\"center\">Units<\/td>\n<td align=\"center\">Description<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Level 1<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">-20<\/td>\n<td align=\"center\">dBm<\/td>\n<td align=\"center\">The level of the first (or only) frequency component. Valid range \u2013 43 to \u20133.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Level 2<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">-4<\/td>\n<td align=\"center\">dBm<\/td>\n<td align=\"center\">The level of the second frequency component (if any). Valid range \u2013 43 to \u20133.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">OffTime<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">0<\/td>\n<td align=\"center\">Msec<\/td>\n<td align=\"center\">The duration of silence between tones on time. Specify 0 for no off-time. Valid range 0-65535.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">OnTime<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">200<\/td>\n<td align=\"center\">Msec<\/td>\n<td align=\"center\">The duration of the tone. Valid range is 1\u201365535.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ1_Parm_1<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">N\/A<\/td>\n<td align=\"center\">N\/A<\/td>\n<td align=\"center\">Parameter 1 of the first (or only) frequency of the generated tone. Must be S.10 fixed point format. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ1_Parm_2<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">N\/A<\/td>\n<td align=\"center\">N\/A<\/td>\n<td align=\"center\">Parameter 2 of the first (or only) frequency of the generated tone. Must be S.10 fixed point format. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ2_Parm_1<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">N\/A<\/td>\n<td align=\"center\">N\/A<\/td>\n<td align=\"center\">Parameter 1 of the second frequency of the generated tone. Must be S.10 fixed point format. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ2_Parm_2<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">N\/A<\/td>\n<td align=\"center\">N\/A<\/td>\n<td align=\"center\">Parameter 2 of the second frequency of the generated tone. Must be S.10 fixed point format. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Iterations<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">1<\/td>\n<td align=\"center\">Integer<\/td>\n<td align=\"center\">The number of times to repeat the alternating tone and silence period. A count of \u20131 means repeat forever*. Otherwise the valid range is 1 to 32767.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>* Therefore, if the Iterations parameter is set \u20131 and the Off-time parameter is set to 0, a continuous tone is produced.<\/p>\n<p><strong>DTMF and Precise Tone Detection<\/strong><br \/>\nTone detection is controlled by two commands: CTsd_FlushBuffer() and CTsd_RetrieveSignals().<\/p>\n<p><strong>DTMF Tone Parameters<\/strong><\/p>\n<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td align=\"center\">Parm Name<\/td>\n<td align=\"center\">Type<\/td>\n<td align=\"center\">Default<\/td>\n<td align=\"center\">Units<\/td>\n<td align=\"center\">Description<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">OffQualLevel<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">-43<\/td>\n<td align=\"center\">dBm<\/td>\n<td align=\"center\">The minimum signal level required to maintain recognition of a DTMF signal once recognition has started. The valid range is \u201343 to \u201315.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">OffQualTime<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">40<\/td>\n<td align=\"center\">ms<\/td>\n<td align=\"center\">The minimum duration of absence of a recognized DTMF signal before end-of-digit event will be emitted. The valid range is 5 to 32767.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">OnQualLevel<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">-39<\/td>\n<td align=\"center\">dBm<\/td>\n<td align=\"center\">The minimum signal level recognized as a DTMF signal. The valid range is \u201343 to \u201315.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">OnQualTime<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">40<\/td>\n<td align=\"center\">ms<\/td>\n<td align=\"center\">The minimum duration of a recognized DTMF signal before a digit event will be emitted. The valid range is 23 to 32767.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">MaxInterrupt<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">20<\/td>\n<td align=\"center\">ms<\/td>\n<td align=\"center\">The maximum time which a digit may be interrupted before it is deemed ended. Usually range is between 10ms to 50 ms.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>General Tone Parameters<\/strong><\/p>\n<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td align=\"center\">Parm Name<\/td>\n<td align=\"center\">Type<\/td>\n<td align=\"center\">Default<\/td>\n<td align=\"center\">Units<\/td>\n<td align=\"center\">Description<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">OffQualTime<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">500<\/td>\n<td align=\"center\">ms<\/td>\n<td align=\"center\">The minimum duration of absence of detected tone before a tone-end event will be emitted. The valid range is 0 to 32767.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">OnQualLevel<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">-28<\/td>\n<td align=\"center\">dBm<\/td>\n<td align=\"center\">The minimum signal level that will be detected. The valid range is \u201340 to 0.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">OnQualTime<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">500<\/td>\n<td align=\"center\">Ms<\/td>\n<td align=\"center\">The minimum duration of a detected tone before a tone event will be emitted. The valid range is 22 to 32767.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ1_Parm_1<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\">Parameter #1 of the first (or only) frequency of the generated tone. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ1_Parm_2<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\">Parameter #2 of the first (or only) frequency of the generated tone. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ1_Parm_3<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\">Parameter #3 of the first (or only) frequency of the generated tone. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ1_Parm_4<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\">Parameter #4 of the first (or only) frequency of the generated tone. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ2_Parm_1<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\">Parameter #1 of the 2nd frequency of the generated tone. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ2_Parm_2<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\">Parameter #2 of the 2nd frequency of the generated tone. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ2_Parm_3<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\">Parameter #3 of the 2nd frequency of the generated tone. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">FREQ2_Parm_4<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\">Parameter #4 of the 2nd frequency of the generated tone. This parameter is computed from the desired frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Bandwidth1<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">70<\/td>\n<td align=\"center\">Hz<\/td>\n<td align=\"center\">The bandwidth of the 1st frequency.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Bandwidth2<\/td>\n<td align=\"center\">INT<\/td>\n<td align=\"center\">70<\/td>\n<td align=\"center\">Hz<\/td>\n<td align=\"center\">The bandwidth of the 2nd frequency.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Tone-generation has a wait-for-dial-tone capability and the following performance specifications:<\/p>\n<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td align=\"center\">Frequency resolution<\/td>\n<td align=\"center\">+\/-1 Hz<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Dynamic level<\/td>\n<td align=\"center\">-33 dBm to 0 dBm (programmable), -9 dBm nominal<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">DTMF digits<\/td>\n<td align=\"center\">0-9, *, #, and ABCD per ITU-T Q.23 and Q.24<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">DTMF Rate<\/td>\n<td align=\"center\">10 digits\/sec (programmable)<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">MF digits<\/td>\n<td align=\"center\">0-9, KP, ST, STP, KP2\/STP2, and ST3 per US(R1) and ITU-T Q.321 European MFC\/R2 forward\/reverse tones per ITU-T Q.441<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Generic tone type<\/td>\n<td align=\"center\">Single or dual<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Duration<\/td>\n<td align=\"center\">10 msec increments<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Generic tone freq. Range<\/td>\n<td align=\"center\">200 to 4000 Hz<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>DTMF Detection<\/strong><\/p>\n<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td align=\"center\">Dynamic Range<\/td>\n<td align=\"center\">-35 to -3 dbm<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Minimum tone duration<\/td>\n<td align=\"center\">As specified in Q.24; AT&amp;T: 40 ms<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Inter-digit timing<\/td>\n<td align=\"center\">Detects like digits with a 40 ms inter-digit delay. Detects different digits with 0 ms inter-digit delay.<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Acceptable Twist<\/td>\n<td align=\"center\">As specified in Q.24; AT&amp;T: +4 dB to \u20138 dB<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Talkoff<\/td>\n<td align=\"center\">No hits on the Mitel or Bellcore test tapes<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">SNR<\/td>\n<td align=\"center\">10 dB (reference to lowest amplitude tone)<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Frequency Tolerance<\/td>\n<td align=\"center\">As specified in Q.24; AT&amp;T: +\/-1.5%&lt; BW &lt; +\/-3.5%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>MF Signaling Detection<\/strong><\/p>\n<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td align=\"center\">Dynamic Range<\/td>\n<td align=\"center\">-35 to -3 dbm<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Acceptable Twist<\/td>\n<td align=\"center\">6 dB<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Talkoff<\/td>\n<td align=\"center\">TBD<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Bandwidth<\/td>\n<td align=\"center\">+\/2% Hz<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Test Results<\/strong><\/p>\n<p>The Commetrex DTMF detector uses a windowing algorithm to meet all the frequency-tolerance requirements of Q.24. The following table contains the test results.<\/p>\n<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td align=\"center\">Decode Tests(All digits detected)<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Frequency Tolerance Tests<\/td>\n<td align=\"center\">Frequency<\/td>\n<td align=\"center\">Pos Deviation<\/td>\n<td align=\"center\">Neg Deviation<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\">697<\/td>\n<td align=\"center\">2.00%<\/td>\n<td align=\"center\">-2.20%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Low Band<\/td>\n<td align=\"center\">770<\/td>\n<td align=\"center\">2.00%<\/td>\n<td align=\"center\">-2.00%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\">852<\/td>\n<td align=\"center\">2.10%<\/td>\n<td align=\"center\">-2.00%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\">941<\/td>\n<td align=\"center\">2.00%<\/td>\n<td align=\"center\">-2.30%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\">1209<\/td>\n<td align=\"center\">2.50%<\/td>\n<td align=\"center\">-2.70%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">High Band<\/td>\n<td align=\"center\">1336<\/td>\n<td align=\"center\">2.50%<\/td>\n<td align=\"center\">-2.70%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\">1477<\/td>\n<td align=\"center\">2.70%<\/td>\n<td align=\"center\">-2.80%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"center\">1633<\/td>\n<td align=\"center\">2.80%<\/td>\n<td align=\"center\">-2.90%<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Twist Tests<\/td>\n<td align=\"center\">Standard Twist<\/td>\n<td align=\"center\">Reverse Twist<\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digit 1<\/td>\n<td align=\"center\">3.9 dB<\/td>\n<td align=\"center\">8.0 dB<\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digit 5<\/td>\n<td align=\"center\">4.0 dB<\/td>\n<td align=\"center\">8.4 dB<\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digit 9<\/td>\n<td align=\"center\">4.0 dB<\/td>\n<td align=\"center\">8.2 dB<\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digit D<\/td>\n<td align=\"center\">4.2 dB<\/td>\n<td align=\"center\">7.9 dB<\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Dynamic Range Test<\/td>\n<td align=\"center\">Dynamic Range<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digit 1<\/td>\n<td align=\"center\">29 dB<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Guard Time Test<\/td>\n<td align=\"center\">Min Pause Time<\/td>\n<td align=\"center\">Min Guard Time<\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Digit 1<\/td>\n<td align=\"center\">Configurable<\/td>\n<td align=\"center\">29.4 ms<\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Acceptable Signal to Noise Ratio Test<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">(-24dBV)<\/td>\n<td align=\"center\">pass<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">(-18dBV)<\/td>\n<td align=\"center\">pass<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">(-12dBV)<\/td>\n<td align=\"center\">pass<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">TALK-OFF Test<\/td>\n<td align=\"center\">zero hits (pass)<\/td>\n<td align=\"center\"><\/td>\n<td align=\"center\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Call-Progress Analysis (CPA) Voice Detection<\/strong><\/p>\n<p>The voice-begin event is the first voice event generated when the answering party begins speaking. Note that the signal must be above the SilenceLevel for VoiceOnTime milliseconds. The voice-end event is reported after an absence of voice for SilenceLong milliseconds. If voice is detected again after an absence of voice for SilenceShort milliseconds, the voice-end-short event is reported. The voice-end-short event is not generated if voice restarted after a silence less than SilenceShort milliseconds.<\/p>\n<p>This capability allows the application to infer whether the called party answered with a &#8220;Hello&#8221;, which is 0.4 seconds, or &#8220;Hello, thank you for calling Commetrex&#8221;, or &#8220;Hi, this is Pete and Alice. We\u2019re not here right now\u2026&#8221;<\/p>\n<p><strong>CPA Events<\/strong><\/p>\n<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n<tbody>\n<tr>\n<td><strong>Event Name(ID)<\/strong><\/td>\n<td><strong>Description<\/strong><\/td>\n<\/tr>\n<tr>\n<td>CP_BEG<\/td>\n<td>CPA Started<\/td>\n<\/tr>\n<tr>\n<td>CP_BUSY<\/td>\n<td>Busy tone detected<\/td>\n<\/tr>\n<tr>\n<td>CP_CED<\/td>\n<td>Modem tone detected<\/td>\n<\/tr>\n<tr>\n<td>CP_DIALTONE<\/td>\n<td>Dial tone detected<\/td>\n<\/tr>\n<tr>\n<td>CP_END<\/td>\n<td>Call progress has completed<\/td>\n<\/tr>\n<tr>\n<td>CP_NOANSWER<\/td>\n<td>No answer (after ringing) detected<\/td>\n<\/tr>\n<tr>\n<td>CP_RBTONE<\/td>\n<td>Ring back tone detected<\/td>\n<\/tr>\n<tr>\n<td>CP_ROTONE<\/td>\n<td>Reorder (fast busy) tone detected<\/td>\n<\/tr>\n<tr>\n<td>CP_SIT<\/td>\n<td>SIT detected<\/td>\n<\/tr>\n<tr>\n<td>CP_VOICE<\/td>\n<td>Voice detected<\/td>\n<\/tr>\n<tr>\n<td>CP_VOICE_END_SHORT<\/td>\n<td>Silence longer than SilenceShort has been detected after detection of voice<\/td>\n<\/tr>\n<tr>\n<td>CP_VOICE_END<\/td>\n<td>Silence longer than SilenceLong has been detected after detection of voice<\/td>\n<\/tr>\n<tr>\n<td>CP_RBQUIT<\/td>\n<td>Ring back quit<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span>Configuration Information<\/span><\/h2>\n<p>PowerCall adds signal generation-detection and in-band call-progress analysis to an OTF system, giving the system the capability of placing outbound calls over the PSTN and generating and detecting network and general tones. PowerVox adds terminating voice to an OTF-based system, and PowerFax adds terminating fax. All members of the MSP line of DSP-resource boards are supported, as is the all-IP BladeWare IP media server.<\/p>\n<p>OTF for MSP SDK, PN 20070<br \/>\nOTF PowerCall SDK, PN 20050<br \/>\nOTF PowerVox SDK, PN 20060<br \/>\nOTF PowerFax SDK, PN 20030<br \/>\nPowerCall Runtime License, PN 50005<\/p>\n<p><strong>CPA Parameters<\/strong><\/p>\n<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n<tbody>\n<tr>\n<td><strong>Parameter<br \/>\nName<\/strong><\/td>\n<td><strong>Default<\/strong><\/td>\n<td><strong>Units<\/strong><\/td>\n<td><strong>Description<\/strong><\/td>\n<\/tr>\n<tr>\n<td>SilenceLevel<\/td>\n<td>-40<\/td>\n<td>DBm<\/td>\n<td>The average value of the input stream below which the signal is considered to be silence (noise). Valid range is \u201346 to \u201334.<\/td>\n<\/tr>\n<tr>\n<td>SilenceTime<\/td>\n<td>500<\/td>\n<td>Msec<\/td>\n<td>The minimum length if a silence period after voice is detected to qualify VOICE_OFF. Signal Detection circuit responds to loss of carrier within 4 \u20135 ms, so minimum value for parameter is 5 ms.<\/td>\n<\/tr>\n<tr>\n<td>SilenceShort<\/td>\n<td>1000<\/td>\n<td>Msec<\/td>\n<td>The time voice must be OFF before sending VOICE_END_SHORT event. This parameter must be greater than SilenceTime. Note that the MSP App must take into account that voice had been off for a duration SilenceTime.<\/td>\n<\/tr>\n<tr>\n<td>SilenceLong<\/td>\n<td>1500<\/td>\n<td>Msec<\/td>\n<td>The time voice must be OFF before sending VOICE_END event. This parameter must be greater than SilenceShort. Note that the MSP App. must take into account that voice had been off for a duration SilenceTime.<\/td>\n<\/tr>\n<tr>\n<td>VoiceOnTime<\/td>\n<td>50<\/td>\n<td>Msec<\/td>\n<td>The minimum length of time voice must be detected before call progress reports a voice begin event.<\/td>\n<\/tr>\n<tr>\n<td>RB_Max<\/td>\n<td>3000<\/td>\n<td>Msec<\/td>\n<td>The maximum duration of a Ring-Back (RB) tone to distinguish it from dial tone. Most RB tones are between 1-2 seconds in duration. The default should be at least 2.5 Sec. The longer it is the longer it takes to qualify dial tone. The shorter it is the more likely it will have to be tuned in the field.<\/td>\n<\/tr>\n<tr>\n<td>RB_Count<\/td>\n<td>5<\/td>\n<td>Count<\/td>\n<td>The number of RB tones to report \u201cNo Answer\u201d<\/td>\n<\/tr>\n<tr>\n<td>RB_StopPeriod<\/td>\n<td>5000<\/td>\n<td>Msec<\/td>\n<td>The time from the end of the last RB tone before declaring RB stopped, meaning the called terminal is off-hook without voice, CED or SIT. Few RB tone-off times are greater than 4 seconds; CED period is 3.5 sec<\/td>\n<\/tr>\n<tr>\n<td>BZ_Max<\/td>\n<td>1500<\/td>\n<td>Msec<\/td>\n<td>The maximum period (on time plus off time) to differentiate between slow busy and RB. Busy typically has a period of one second and a 50% duty cycle. A value of 1.5 seconds for this parameter will yield excellent worldwide results<\/td>\n<\/tr>\n<tr>\n<td>RO_Max<\/td>\n<td>700<\/td>\n<td>Msec<\/td>\n<td>The maximum period (on time plus off time) to differentiate between Slow Busy and Fast Busy (reorder). A default value of 700 \u2013 750 msec. will yield acceptable results.<\/td>\n<\/tr>\n<tr>\n<td>BZ_Count<\/td>\n<td>4<\/td>\n<td>Count<\/td>\n<td>The number of Busy tones to qualify \u201cBusy\u201d or \u201cFast Busy\u201d.<\/td>\n<\/tr>\n<tr>\n<td>TimeOut<\/td>\n<td>10000<\/td>\n<td>Msec<\/td>\n<td>The maximum time that can elapse with no response from the network before call progress stops with a reason of timeout.<\/td>\n<\/tr>\n<tr>\n<td>StopMask<\/td>\n<td>0x21<\/td>\n<td>Mask<\/td>\n<td>Mask to control which events cause call progress to stop. A value may be formed by Oring any of the following:<br \/>\n0x0001 voice begin<br \/>\n0x0002 voice end short<br \/>\n0x0004 voice end<br \/>\n0x0008 modem tone (CED)<br \/>\n0x0010 SIT tone<br \/>\nCPA always terminates if the following are detected: dial tone, busy, and no answer.<\/td>\n<\/tr>\n<tr>\n<td>PrecMask<\/td>\n<td>3<\/td>\n<td>Mask<\/td>\n<td>Mask to control which precise detector to run. A value may be formed by ORing any of the following:<br \/>\n0x0001 CED tone (modem)<br \/>\n0x0002 SIT<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>OTF, Commetrex\u2019 S.100 middleware, is licensed without media-processing resources. PowerCall for OTF adds S.100-conforming signal generation-detection capability and in-band call-progress&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":98,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-1625","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/commetrex.com\/index.php?rest_route=\/wp\/v2\/pages\/1625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/commetrex.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/commetrex.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/commetrex.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/commetrex.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1625"}],"version-history":[{"count":0,"href":"https:\/\/commetrex.com\/index.php?rest_route=\/wp\/v2\/pages\/1625\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/commetrex.com\/index.php?rest_route=\/wp\/v2\/pages\/98"}],"wp:attachment":[{"href":"https:\/\/commetrex.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}