1
EXHIBIT 10.2
EFFECTIVE DATE: 4 August 97 ________
AGREEMENT #: ____________________
CONTRACT FOR PRODUCTS AND SERVICES AGREEMENT
THIS AGREEMENT is made and entered into as of the 4th day of August, 1997,
(hereinafter "Effective Date") by and between Summa Four, Inc., a Delaware
Corporation with its principal place of business at 00 Xxxxxxx Xxxxxx,
Xxxxxxxxxx, Xxx Xxxxxxxxx, 00000-0000 (hereinafter "Summa Four"), and the
Contractor whose name and address is set forth below (hereinafter "Contractor"):
================================================================================
Company: D2 TECHNOLOGIES, INCORPORATED. MR. XXXXX XXXX, PRESIDENT
--------------------------------------------------------------------------------
Street: 000 XXXX XXXXXXX XXXXXX, XXXXX X.
--------------------------------------------------------------------------------
City: SANTA XXXXXXX
--------------------------------------------------------------------------------
State: CALIFORNIA Zip: 93101
================================================================================
RECITALS
X. Xxxxx Four is engaged in the business of developing, marketing, supporting
and selling telephony Product(s), computer Product(s) and related
accessories; and
B. Contractor is a company qualified in performing a wide variety of technical
services; and
X. Xxxxx Four desires to hire Contractor at will, to provide certain services
or products (hereinafter referred to as the "Work Product") as shall be
more fully described in an Appendix A attached to this Agreement; and
D. Contractor is desirous of performing the Services for Summa Four as an
independent contractor pursuant to the terms hereof.
NOW THEREFORE, in consideration of the mutual promises herein contained, the
Parties agree as follows;
1. TERM OF AGREEMENT. This Agreement shall have a maximum duration of 180
working days from the above stated Effective Date. Nevertheless, this
Agreement and the Contractor's performance hereunder may be terminated by
Summa Four at any time on written notice to Contractor. This Agreement may
only be extended by mutual written Agreement of the Parties.
2
2. NATURE OF WORK. Unless otherwise directed by Summa Four, Contractor shall
provide the Work Product set forth in Appendix A.
3. PAYMENT OF CONTRACTOR. During the duration of this Agreement, payment of
the compensation is subject to Contractors' continuing satisfactory
performance in accordance with Section 4 below. Summa Four shall compensate
Contractor in accordance with the provisions of Appendix A.
4. RIGHT OF INSPECTION AND ACCEPTANCE. Contractor shall, at all times, perform
services to Summa Four in a responsible and independent manner so as to
meet the deliverable time frames of Appendix A. Furthermore, all Services
shall be of the highest professional quality and all Work Product to be
delivered hereunder shall conform to the specifications therefore or if no
specifications have been agreed to by the Parties, be subject to Summa
Four's complete satisfaction.
5. INDEMNIFICATION. Contractor hereby certifies that it has obtained all
necessary authorizations, permits and approvals and that it is fully
licensed and capable of performing the services as specified herein. As
such, Contractor shall defend at its own expense all actions or claims
made against Summa Four, its employees, or customers, including without
limitation, all personal injury, property damage, or Product performance
claims which may arise out of or in connection with this Agreement or
Contractor's performance of the services for Summa Four and/or delivery of
the Work Product. Furthermore, Contractor is solely responsible for and
shall indemnify Summa Four against all liability, claim, expense and/or
cost in connection with its performance under this agreement including but
not limited to the payment of all federal, state and local taxes or
contributions which may be imposed on Contractor or Summa Four including
unemployment insurance, social security and income tax levies associated
with Contractor's performance under this Agreement.
6. INDEPENDENCE OF ACTION. Nothing herein shall be deemed to restrict Summa
Four's right to perform the Work Product for itself or develop similar or
like Work Product(s) or to retain other contractors or third parties to
provide Similar Services and/or Work Product upon such terms and conditions
as it deems appropriate.
7. TERMINATION OF AGREEMENT. This Agreement may be terminated at any time, for
any reason, by Summa Four, except that in the event of any termination of
this Agreement for the convenience of Summa Four and not for cause or other
matters attributable to Contractor, Summa Four shall give 30 days prior
written notice of termination. Upon any such termination, Contractor shall
promptly deliver to Summa Four any and all Work Product (including but not
limited to any other materials, products, supplies and/or Confidential
-2-
3
Information of or to be returned to Summa Four hereunder) completed as of
the date of such termination. To the extent that any payment(s) are due
therefor, such payment(s) shall be made in accordance with Articles 3, 4
and Appendix A hereof.
8. CONTRACTOR'S SERVICES FOR OTHERS. It is agreed that since Contractor,
during the term of this Agreement, and any renewals hereof, will acquire or
have access to Summa Four Confidential Information as hereinafter defined,
Contractor agrees not to provide for a period of one year after the
termination of this Agreement similar Services to other competitors of
Summa Four in the development of a high density programmable switching
system that directly competes with Summa Four's VCO product line.
9. NON-DISCLOSURE OF CONFIDENTIAL INFORMATION. The term Confidential
Information, unless otherwise indicated, shall mean all information in
tangible and/or intangible form disclosed to Contractor or learned by
Contractor as a direct or indirect consequence of or through their
relationship with Summa Four.
Accordingly, Contractor agrees to be independently bound by Summa Four's
current Non-Disclosure Agreement which it has executed in conjunction with
this Agreement.
10. REMEDIES. Summa Four reserves all right and remedies it may have in law or
equity to enforce performance of this Agreement.
11. PROPRIETARY RIGHTS IN DATA AND DOCUMENTS.
a) Unless otherwise provided for herein, the Parties hereto mutually agree
that all title to and ownership of the Work Product as well as any related
proprietary rights, including but not limited to those relating to patents,
copyrights, trademarks, or trade secrets in any Work Product provided by
Contractor to Summa Four in accordance with this Agreement shall belong
exclusively to Summa Four. Except for Article 11 b.) below, Contractor
agrees that its performance of this Agreement and the resultant Work
Product constitute a work for hire relationship. Contractor, shall protect,
on behalf of Summa Four, all materials and written documents provided to it
by Summa Four and/or which may have been independently generated by
Contractor under this Agreement. Contractor agrees that upon termination or
expiration of this Agreement for any reason whatsoever, Contractor shall
promptly deliver to Summa Four all materials and written documents, as well
as all Confidential Information, which Contractor has used, developed,
maintained or had access to throughout this Agreement.
-3-
4
b) Appendix B. sets forth certain Contractor owned Algorithms (Algorithms)
which shall be modified by Contractor under this Agreement for the use by
Summa Four in conjunction with such Algorithms under a separate Product
License and Support agreement to be entered into by the Parties. Contractor
shall retain all title and ownership of such Algorithms as well as the
modifications made thereto under this Agreement. Nevertheless, Contractor
shall grant to Summa Four a perpetual, fully paid, royalty free license to
use such modifications (together with the Algorithms) in accordance with
the terms of such Product License and Support agreement.
12. Indemnification for Patent and Proprietary Right Claims.
a) Contractor warrants to Summa Four that the Work Product provided by
Contractor will not infringe upon or violate any patent, copyright, trade
secret or any other proprietary or intellectual property right of any third
party. In the event of a claim by a third party against Summa Four, or
against any of its employees or customers, asserting or involving a patent,
copyright, trade secret or proprietary or intellectual proprietary right
violation which concerns the Work Product (except for that specified in
Article 12b. below), or any related work tangible or intangible Work
Product developed by Contractor for Summa Four, Contractor will defend at
its sole expense and will indemnify and hold harmless Summa Four, its
employees and its customers against any loss, costs, expense or liability
arising out of such claim, whether or not such claim is successful.
b) Appendix B. sets forth certain Contractor owned Algorithms (Algorithms)
which shall be licensed to Summa Four under a separate Product License and
Support Agreement to be entered into by the Parties. Indemnification for
Patent and Proprietary right claims for the algorithms specified in
Appendix B is provided under the separate Product License and Support
Agreement.
13. WARRANTY. Contractor warrants that the Work Product will perform
substantially according to the specifications of Appendices A and C for 90
days after the completion of Integration as specified in Exhibit A.
14. ASSIGNMENT. Contractor may not assign its obligations or responsibilities
under this Agreement without the written consent of Summa Four.
15. AGENCY. This Agreement does not appoint the Contractor as the agent or
legal representative of Summa Four for any purpose whatsoever. The
Contractor has no authority, expressed or implied, to assume or create any
obligation or responsibility on behalf of, or in the name of Summa Four, or
to bind or represent Summa Four in any manner whatsoever. Unless
specifically provided for otherwise in this Agreement, the Contractor shall
be solely
-4-
5
responsible for its actions and any and all obligations or liabilities
incurred or assumed in the performance of this Agreement.
THE CONTRACTOR ACKNOWLEDGES THAT IT HAS READ THIS AGREEMENT AND UNDERSTANDS
AND AGREES TO BE BOUND BY THIS AGREEMENT'S TERMS AND CONDITIONS. THE
CONTRACTOR FURTHER AGREES THAT THIS AGREEMENT TOGETHER WITH ITS ATTACHED
APPENDIX IS THE COMPLETE AND EXCLUSIVE STATEMENT OF THE UNDERSTANDING OF
THE PARTIES REGARDING THIS MATTER AND THAT THIS AGREEMENT SUPERSEDES AND
CANCELS ALL PREVIOUS AND CONTEMPORANEOUS WRITTEN AND ORAL AGREEMENTS AND
COMMUNICATIONS RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT. THIS
AGREEMENT MAY ONLY BE MODIFIED IN WRITING, SIGNED BY AN AUTHORIZED
REPRESENTATIVE OF BOTH PARTIES.
The validity, construction and interpretation of this Agreement and the rights
and duties of the parties hereto shall be governed by and construed in
accordance with the laws of the State of New Hampshire.
IN WITNESS WHEREOF, the parties have executed this Agreement on the day and year
first above written.
================================================================================
CONTRACTOR SUMMA FOUR, INC.
--------------------------------------------------------------------------------
AUTHORIZED SIGNATURE AUTHORIZED SIGNATURE
/s/ Xxxxx X. Xxxx /s/ Xxxx Xxxx
--------------------------------------------------------------------------------
NAME (Print or Type) NAME (Print of Type)
Xxxxx Xxxx Xxxx Xxxx
--------------------------------------------------------------------------------
TITLE TITLE
President Vice President, Engineering
--------------------------------------------------------------------------------
DATE DATE
4 August 1997 4 August 1997
================================================================================
-5-
6
Summa Four, Inc. AGREEMENT#: __________________
APPENDIX A
TO
CONTRACT FOR PRODUCTS AND SERVICES AGREEMENT
1. OVERVIEW
The document defines the deliverables expected from D2 Technologies for the
Service Platform Card Project.
The DSP engine that will be used for all deliverables will be the Texas
instruments TMS320C548 66MlPS 1 44pQFP part. The DSP Service Resource Module
will be the same for all deliverables in this document.
R1.1. All code delivered to Summa Four regarding the requirements defined in
this document will be targeted toward the Texas Instruments TMS320C54x
family, specifically the TMS320LC548. In the event of availability
problems during development, the TMS320LC542 will be considered an
optional device for initial development efforts only. All algorithm code
will be created compatible between the two devices.
The requirements in this document supersede any contained within the
Service Platform Card Engineering Marketing Requirements Document
(SPC-EMRD) Summa Four Number 49001650100-0AR. The latter document may
only be used for reference where subject material therein is not
addressed within this document.
R1.2. The order of document priority for requirement definition is defined as
follows (in order of importance, with 1 (one) as the first source):
1. This contract
2. SPC EMRD (49001650100)
3. Further detailed design documentation on specific design
sub-sections.
2. GENERAL
R2.1. D2 will deliver VP-Open software and drivers that run on the Summa
specific hardware and card architecture.
R2.2. In the interest of maintaining compatibility with the VP-Open software
specification and interface standards, VP-Open modifications (if any)
made for
-6-
7
Summa Four will not impair the hiture path of the product as other
VP-Open compatible algorithms are added to the product's capabilities.
R2.3. D2 will deliver all software for the DSP engine section of the SPC card.
This includes (as required), operating systems, diagnostic code, drivers,
algorithms, and others as is required to implement the deliverables set
forth in this document.
R2.4. Deleted.
R2.5. D2 will provide progress reports for deliverables against this contract
via email to the Project Manager (xxxxxx@xxxxx0.xxx) and the Project
Technical Lead (xxxxx@xxxxx0.xxx)
R2.6. Where D2 is required to provide documentation or schedules, those items
will be provided in hardcopy and softcopy form for Summa Four's permanent
records.
R2.7. D2 will demonstrate the ability to generate the executable, downloadable
code at Summa for each deliverable. Summa will be required to purchase
the appropriate tools and compilers to this end.
R2.8. D2 will be responsible to send personnel as required for the following:
o Debugging and Software Integration issues that cannot be reasonably
resolved over the phone.
o Demonstration and verification of each deliverable being met if on-site
presence to meet same is required.
o Instances during the algorithm verification phase where algorithm
performance or capability is in question, as measured against the
requirements in this document.
o As is required during normal development efforts between two companies to
ensure interdependencies to not become drawn out beyond the schedule
requirements.
o As is required during integration of the card software (Summa's) and the
DSP software (D2's) on the alpha and beta (first and second spin)
hardware.
R2.9. D2 will provide a dedicated technical contact for the period of this
contract.
R2.10. D2 will request the quantity of alpha and beta (first and second spin)
hardware platform that it requires for its own in-house development and
verification. Any such hardware provided by Summa Four will be considered
the property of Summa Four, and will be returned upon the completion of
this contract or upon other demand of Summa Four, Inc.
-7-
8
R2.11. D2 will assist in the definition of development materials required for
both development and continued maintenance of the deliverables within
Summa Four (i.e. compilers, development platforms, etc.) which Summa Four
will purchase.
R2.12. Source code will be delivered to Summa Four for VP-Open software,
diagnostic software, and drivers.
R2.13. An escrow agreement will be executed to protect Summa Four in the event
source code is not delivered for the algorithms themselves (see
Attachment 2).
R2.14. All software deliverables to Summa Four that are centered around the SPC
card architecture, including the drivers, diagnostics, and
command/control/response interface protocol and method, will be
considered confidential and proprietary and the intellectual property of
Summa Four, Inc.
3. COMMAND/CONTROL/RESPONSE ARCHITECTURE
R3.1. The command, control, and response functions will be implemented with
the serial protocol intended to support interaction with a single host
processor (single host to multi-DSP) utilizing the capabilities of that
host processor. The host processor will be a Motorola MPCMH860-50. D2
will work with Summa to implement this protocol within the DSP.
R3.2. D2 and Summa Four will create the necessary documentation (jointly or
separately) to completely describe the intended architecture. The effort
will begin with D2 providing Summa Four with a detailed 'API' for this
interface which is based upon the configuration control and response
parameters necessary to implement the algorithms and features detailed in
Section 5, Diagnostic Requirements. Summa Four, jointly with D2, will
provide the formal definition of the interface based on internal
requirements for future product support.
R3.3. The documentation supplied in R3.3 will include definition of the
approximate MIPs required to implement the protocol of choice deftned in
the architecture chosen.
R3.4. Review and approval of all architectural documentation will be required
from D2 and Summa Four before implementation, per our ISO and Software
Development Processes.
-8-
9
4. BOOT ARCHITECTURE
R4.1. The 'Boot from TDM or BSP serial port' capability of the TMS320C548 will
be used for booting diagnostic code and application (algorithm) code. D2
will be responsible for implementing all of its deliverable with this as
the sole boot mechanism. The will be no local FLASH, PROM, or other
semi-permanent memory local and accessible to the DSP device (64K of SRAM
will be available).
5. DIAGNOSTIC REQUIREMENTS
R5.1. D2 will deliver diagnostic code that performs the following functions:
o DSP Engine self-test (all DSP device verification and local device
verification i.e. SRAM, etc.).
o Checksum downloaded image test.
o Loopback all data or individual timeslots from PCM interface back to PCM
interface.
o Provide an "Echo Me Message" in the API.
o Generate a tone on a specified channel, and detect it on another channel.
o Report or verify checksum/fumware version/revision.
o Measure the period of time in between frame sync inputs (intermpts).
R5.2. The diagnostic code developed will reside in the run-time software
algorithm deliverables.
R5.3. A separate diagnostic test code module (bootable and stand-alone) will be
provided by D2 for use during engineering development for the purpose of
proving the hardware platform and basic hostDSP processor communication
and boot capability before algorithm integration occurs.
R5.4. Run-time code will be capable of implementing per-timeslot loopback Tx to
Rx within the DSP for the purpose of implementing run-time diagnostics as
required in the SPC-EMRD.
6. ALGORITHM REQUIREMENTS
R6.1. D2 will provide documentation for each algorithm deliverable which will
contain information defining:
o The ported algorithm's performance (ports per DSP resource and MIPS per
port, total MIPS of application code including performance of serial
interface protocol, etc.)
o The command/control/response interface API subset that the algorithm
supports and the rules surrounding the use of the same (if not defined
-9-
10
appropriately and completely within the documentation for the
command/control/response interface).
o The algorithm's capabilities for the purpose of advertising to Summa's
customers and verification during development test.
7. DTMF RECOGNITION ALGORITHM
R7.1. The following capabilities will be designed into the algorithm:
o Configurable A or [mu]-Law operation.
o Support Bellcore LSSGR section 6 and CCIT/TIITU Q.23 and Q.24 standards.
o Enhanced Noise immunity
o Enhanced Echo immunity
R7.2. It is a requirement that the maximum available features implemented by
the algorithm be programmable by the host processor. The host processor
will be responsible for maintaining and configuring the parameters
surrounding the algorithm's requirements. The algorithm at a minimum will
support the following as configurable on a per port, per call basis via
the command/control/response interface:
o Frequency tolerance
o Level
o Twist
o Interdigit Time
o Digit Time (Tone Duration)
o Detection of Leading and Trailing Edges
o Capable of detecting sequences of digits with timeout control
o Maximum sequence size will be 40 digits
o Long tone detection, with relaxed detection parameters.
R7.3. Additionally, the algorithm will have these features:
o Elimination of tone bounce
o Supenor talk-off and talk-down performance
o A high-quality porting effort, designed to maximize the number of ports
processed per DSP resource
o A minimum of 30 ports per DSP engine, given a DSP engine capacity of 66
MIPS and sufficient SRAM resources
8. CALL PROGRESS ANALYZER ALGORITHM
R8.1. The following capabilities will be designed into this algorithm:
o Support addition of expanded algorithm parameters within the algorithm's
capabilities.
-10-
11
o Support for addition of new tones and tone types without algorithm code
changes (addition implemented through programmability of algorithm
parameters).
o Configurable A or [mu]-Law operation
o Meets or exceeds Bellcore specifications
R8.2. It is a requirement that the maximum available features implemented by
the algorithm be programmable by the host processor. The host processor
will be responsible for maintaining and configuring the parameters
surrounding the algorithm's requirements. The algorithm at a minimum will
support the following as configurable on a per port, per call basis via
the command/control/response interface:
o All algorithm parameters, including but not limited to:
o Frequency
o Level
o Cadence
R8.3. The algorithm will use the cadence parameters including minimum and
maximum timing requirements to determine tone rejection or acceptance.
The algorithm shall not report a valid tone detection event if it is
outside of the minimum and maximum allowable time window specified by the
host processor.
R8.4. D2 will provide its "Call Progress Leamiprofile" capability to
characterize CPA signals.
R8.5. Additionally, the algorithm will detect the following:
o 4 unique SITs (Special information Tones) as defined per country
variation
o NU (Number Unavailable) tone
o Fax CNG (2 types) and CED as defined in CCITT T.23 specification
o Modem (6 types): Xxxx 000, 000, 000, X.00, X.00, X.00; transmit and
receive for each.
R8.6. The minimum countries supported by the algorithm will be the following:
Argentina Australia Belgium
Chile China Columbia
Dominican Republic Finland Germany
Holland Hong-Kong India
Indonesia Italy Japan
Korea Lebanon Malaysia
Mexico Morocco Netherlands
New Zealand Philippines Puerto Rico
Singapore South Africa Spain
Sweden Switzerland Taiwan
-11-
12
Thailand United Kingdom United States
Vietnam
R8.7 D2 will deliver the tone specifications for the above countries based on
Summa Four supplied data or published ITU data. The specifications shall
be mutually agreed to by D2 and Summa Four. D2 will affirm that it has
performed laboratory testing to support all countries outlined above
based on the tone specifications agreed to by D2 and Summa Four. Summa
Four will loan a VCO-series switch to D2 for this testing.
9. MULTI-FREQUENCY RECOGNITION ALGORITHM
R9.1. The following capabilities will be designed into the algorithm:
o Compliant with Bellcore CCITT/ITU Q400, Q401, Q441, Q442, Q45l, Q455,
Q457, Q466, Q470, Q471, Q472, Q474, Q475, Q476, and Q478.
o Support all existing variants of MF recognition.
o Configurable A or [mu]-Law operation
o Compliant with Bellcore LSSGR section 6, TR-TSY-000506 Section 6.4,
TR-NWT-000506, and CCITT Q.321, Q.322, and Q.323.
o Generation of backwards MF signals.
R9.2. It is a requirement that the maximum available features implemented by
the algorithm be programmable by the host processor. The host processor
will be responsible for maintaining and configuring the parameters
surrounding the algorithms requirements. The algorithm at a minimum will
support the following as configurable on a per port, per call basis via
the command/control/response interface as published in the CCITT/ITU
specifications and as outlined in R1.7.11:
o Designation
o Frequency tolerance
o Timing (time-outs)
o Tone Pulse duration
R9.3. Additionally, the algorithm will have these features:
o Configurable "No-detect" threshold from European specifications.
R9.4. Tone generation capability will be required to implement the R2 portion
of the algorithm.
R9.5. The DSP resource will be responsible to perform the complete R2 protocol,
including tone recognition and tone generation for sequences of digits up
to a maximum of 40.
-12-
13
10. DIGITAL TONE GENERATION ALGORITHM
Tone Generation includes static tones (continually repeating), such as BUSY,
RINGBACK and DIAL; as well as the Outpulse channels, which are used for
signaling (DTMF, MF, etc.).
R10.1. The SPC will support both types of Tone Generation. The algorithm shall
support the following features:
o Full DTMF support (including 4th column), based on Bellcore LSSGR Section
6, CCITT Q.23, and other national standards.
o 6 Additional tone slots
o Configurable [mu]-Law or [mu]-Law generation.
o Support for tones of modulated amplitude.
o Support for four-tone mixes.
o Support for tones of non-constant frequency.
o Support for non-cyclic tones (ex: BONG, Call waiting, DIAL for Call
Forwarding).
o Support for tones with adjustable timings.
R10.2. At a minimum, the following will be configurable on a per-port, per call
basis via the command/contro1/response interface:
o Frequencies (up to 4)
o Level
o Twist
o Interdigit time
o Digit time (tone duration)
o The maximum outpulse sequence length will be 40 digits
o Modulation
o Frequency sweep
11. TESTING/TECHNOLOGY TRANSFER
R11.1. A test plan with expected and actual results for each of the algorithms
will be provided by D2. The test plan will be reviewed for approval by
Summa.
R11.2. D2 will provide a 2 day "Technology Transfer" at Summa Four. This will
include training, a codeldesign walk-through, and a hands-on session for
building and executing the code.
12. SCHEDULE/PAYMENT MILESTONES
A milestone is complete when the deliverable, along with associated
documentation, is delivered to and accepted by Summa Four.
-13-
14
================================================================================
DELIVERABLE TARGET DATE PAYMENT
----------- ----------- -------
--------------------------------------------------------------------------------
Progress reports Weekly
--------------------------------------------------------------------------------
HDLC Low-level Code (Bit stuff/CRC) 7/21/97 21,034
--------------------------------------------------------------------------------
Algorithm API documentation 7/21/97 12,000
Algorithm Capabilities documentation
Algorithm Performance Measurements (C54x)
--------------------------------------------------------------------------------
HDLC link layer sw complete 7/21/97 18,800
--------------------------------------------------------------------------------
Software External Design Spec draft 7/21/97 20,000
--------------------------------------------------------------------------------
Software Internal Design Spec 8/14/97 6,000
--------------------------------------------------------------------------------
Algorithm modifications complete 8/15/97 7,500
--------------------------------------------------------------------------------
Nucleus software dev start 7/21/97 15,000
--------------------------------------------------------------------------------
Nucleus sw dev complete 9/12/97 12,000
--------------------------------------------------------------------------------
Diag software spec 7/14/97 2,000
--------------------------------------------------------------------------------
Diag software complete 8/15/97 4,000
--------------------------------------------------------------------------------
Test plan draft 8/22/97 3,000
--------------------------------------------------------------------------------
Test plan complete (with results) 9/12/97 5,000
--------------------------------------------------------------------------------
Pre-Integration Complete 9/15/97 8,000
--------------------------------------------------------------------------------
Integration complete 11/10/97 19,000
--------------------------------------------------------------------------------
Technology transfer start 11/14/97 2,000
--------------------------------------------------------------------------------
Reimbursable expenses (travel, per diem etc.) as expended 8,000
--------------------------------------------------------------------------------
TOTAL 169,334
================================================================================
Compensation to Contractor for the completion and delivery of Work Product and
Services (including integration services) shall be due on the acceptance of same
in accordance with the Deliverable Schedule above. The fixed compensation shall
be $169,334. Such compensation fee may be changed in the event of a material
change in the breadth and/or scope of the Software Design Specification
presently agreed upon by the parties and attached as Appendix C. Any such change
in the Specification or the fees shall be subject to the mutual agreement of the
parties. Contractor integration support shall include up to 2 one week trips to
Summa Four headquarters in New Hampshire by one Contractor engineer and shall
include services to support at least 2 major revisions of hardware (a major
revision defined as one which requires revisions in the DSP software).
13. SUMMA FOUR SUPPLIED EQUIPMENT AND SUPPORT
Summa Four agrees to consign VCO and SPC/SRM hardware to DR as agreed by the
parties to enable D2 to perform software testing and integration efforts on a
timely basis. Such Equipment shall be consigned in accordance with Summa Four's
standard consignment agreement. Summa Four shall also make available qualified
engineering support at mutually agreeable times to assist D2 in its development,
-14-
15
integration and testing responsibilities under this agreement if either party
fails to meet the performance schedule, the parties shall convene to establish a
mutually agreed upon remedial plan to ensure timely completion of the contract.
Such remedial plan may include adjustments to the contract in terms of
compensation, payment schedules, credits etc, as appropriate.
-15-
16
Summa Four, Inc. AGREEMENT #:______
APPENDIX B
TO
CONTRACT FOR PRODUCTS AND SERVICES AGREEMENT
D2 OWNED TECHNOLOGY SPECIFICATION
DTMF Detection and Removal Algorithm 5007-A
Universal Tone Detection Xxxxxxxxx 00000-X
Multifrequency Tone Detection Xxxxxxxxx 00000-X
Tone Generation Xxxxxxxxx 00000-X
Voice Activity Detection and AGC 50013-B
-16-
17
EXHIBIT C
EVP-SRM (DSP) Software Design
Specification
-1-
18
EVP-SRM (DSP) Software Design Specification 2
-----------------------------------------------------------------------
Table of Contents
Page
----
1. Introduction...............................................................................1
1.1 Open Issues...........................................................................1
1.2 Change History........................................................................1
1.3 Purpose of Document...................................................................1
1.4 Intended Audience.....................................................................1
1.5 Related Documents.....................................................................1
1.6 Glossary and Abbreviations............................................................2
2. DSP Hardware Requirements..................................................................3
2.1 Overview..............................................................................3
2.2 The TMS320LC548 Processor.............................................................3
2.3 Two Buffered Serial Ports.............................................................3
2.4 Interprocessor Communications.........................................................3
2.4.1 Loading DSP Programs.........................................................4
2.4.2 Starting Communications......................................................5
2.4.3 Steady State Communications..................................................5
2.5 Emulator support......................................................................5
3. DSP Software Functions and Architecture....................................................5
3.1 DSP Functions.........................................................................5
3.2 DSP Software Architecture.............................................................6
3.3 Command and Status Module.............................................................6
3.4 Major States..........................................................................7
3.4.1 DTMF DETECT..................................................................7
3.4.2 MF DETECT....................................................................8
3.4.3 CP DETECT....................................................................9
3.4.4 TONEGEN......................................................................9
3.4.5 MFcR2.......................................................................10
3.4.6 IDLE........................................................................10
3.5 Multi-port Management................................................................10
4. Signal Processing Algorithm Specification.................................................10
4.1 HDLC Communications..................................................................11
4.2 Voice Activity Detection.............................................................11
4.2.1 Functional requirements:....................................................11
4.2.2 Performance Requirements:...................................................12
4.3 DTMF Detection.......................................................................13
-2-
19
EVP-SRM (DSP) Software Design Specification 3
-----------------------------------------------------------------------
4.3.1 Functional requirements:....................................................13
4.3.2 Performance requirements:...................................................14
4.4 Tone Generation......................................................................16
4.4.1 Functional requirements:....................................................16
4.4.2 Performance Requirements....................................................18
4.5 Universal Tone Detector..............................................................18
4.5.1 Overview....................................................................18
4.5.2 General.....................................................................18
4.5.3 General Functional Requirements.............................................19
4.5.3.1 Tone Detector Performance Requirements...........................20
4.5.3.1.1 Single Tones.......................................20
4.5.3.1.2 Dual Tones.........................................21
4.5.3.1.3 Amplitude Modulated Tones..........................22
4.5.3.1.4 Precedence.........................................23
4.5.3.1.5 North American Call Progress Signal Detection......23
4.5.3.1.6 FAX CNG Tone Detection.............................24
4.5.3.1.7 Modem Tone Specification...........................25
4.5.3.1.8 Three Tone Sequences...............................27
4.5.3.1.9 Unknown Tone.......................................28
4.6 Multifrequency Tone Detection (MFD)..................................................28
4.6.1 Functional requirements:....................................................29
4.6.2 Rl Detection Performance requirements:......................................30
4.6.3 R2 Detection Performance Requirements.......................................31
4.7 MFcR2 compelled signalling...........................................................33
5. Configuration Parameters..................................................................33
5.1 Global Parameters....................................................................33
5.2 DTMF Detection Parameters............................................................34
5.2.1 DTMF Collection Specifications..............................................34
5.2.2 DTMF Detection Parameter Memory Usage.......................................37
5.3 MF Detection Parameters..............................................................38
5.3.1 MF Collection Specifications................................................38
5.3.2 MF Detection Parameter Memory Usage.........................................41
5.4 Call Progress Detection Parameters...................................................41
5.4.1 CP Tone Groups..............................................................41
5.4.2 CP Tone Specifications......................................................44
5.4.3 CP Collection Specifications................................................47
5.4.4 CP Detection Channel Context................................................47
5.4.5 CP Detection Parameter Memory Usage.........................................48
5.5 Tone Generation Parameters............................................................48
5.5.1 Simple Tone Specifications.....................................................49
5.5.1.1 Special Tone Specifications...........................................51
-3-
20
EVP-SRM (DSP) Software Design Specification 4
------------------------------------------------------------------------
5.5.2 Special Case Tone Templates.................................................52
5.5.3 User-defined Tone Groups.......................................................53
5.5.3.1 User-defined Tone Groups for DTMF. MF
generation .................................................................54
5.5.4 Tone Generation Parameter Memory Usage......................................54
5.6 MFcR2 Signalling Parameters..........................................................55
5.6.1 MF Collection Specifications................................................56
5.6.2 MFcR2 State Transition Tables...............................................57
5.6.3 Actions.....................................................................58
5.6.4 Processes...................................................................58
5.6.5 MFcR2 Signalling Parameter Memory Usage.......................................60
6. DSP Time and Space Requirements...........................................................61
7. Command Messages..........................................................................62
7.1 Command String Format................................................................62
7.2 Command Message Definitions..........................................................63
7.2.1 IDLE (0x0) Commands............................................................63
7.2.2 DIAGNOSTIC TEST (0x1) Commands.................................................64
7.2.2.1 DIAGNOSTIC TEST - Version (0x10) Command............................66
7.2.2.2 DIAGNOSTIC TEST - TDM Loopback (0x11)
Command..........................................................66
7.2.2.3 DIAGNOSTIC TEST - HDLC Echo (0x12)
Command..........................................................67
7.2.2.4 DIAGNOSTIC TEST - Measure Performance (0x13)
Command..........................................................67
7.2.2.3 DIAGNOSTIC TEST - HDLC Echo (0x12)
Command..........................................................67
7.2.3 DTMF Detection (0x2) Commands...............................................68
7.2.3.1 DTMF/COLLECTION SPECIFICATION
DOWNLOAD (0x20)..................................................68
7.2.3.1 DTMF/SETUP (0x21)................................................70
7.2.3.3 DTMF/EXECUTE (0x22)..............................................71
7.2.4 MF Detection (0x3) Commands.................................................72
7.2.4.1 MF/COLLECTION SPECIFICATION DOWNLOAD
(0x30)...........................................................73
7.2.4.2 MF/SETUP (0x31)..................................................74
7.2.4.3 MF/EXECUTE (0x33)................................................75
7.2.5 CP Detection (0x4) Commands....................................................76
7.2.5.1 CP Detection/SETUP (0x40)...........................................76
7.2.5.2 CP Detection/EXECUTE (0x41).........................................77
7.2.5.3 CP Detect/COLLECTION SPEC DOWNLOAD (0x42)...........................78
-4-
21
EVP-SRM (DSP) Software Design Specification 5
------------------------------------------------------------------------
7.2.5.4 CP Detection NORMAL CP TONE SPEC DOWNLOAD
(0x43)...........................................................79
7.2.5.5 CP Detection SIT CP TONE SPEC DOWNLOAD
(0x44)...........................................................79
7.2.5.6 CP Detection TONE GROUP DOWNLOAD (0x45).............................80
7.2.6 Tone Generation (0x5) Commands..............................................80
7.2.6.1 Tone Generation TRANSMIT TONE (0x50)................................81
7.2.6.2 Tone Generation OUTPULSE DIGITS (0x51)..............................81
7.2.6.3 Tone Generation STOP EXECUTION (0x52)...............................82
7.2.6.4 Tone Generation DOWNLOAD SIMPLE TONE
SPEC (0x53)......................................................82
7.2.6.6 Tone Generation DOWNLOAD SPECIAL TONE
SPEC (0x52)......................................................84
7.2.6.7 TONE GENERATION DOWNLOAD USER-DEFINED
TONE GROUP (0X56)................................................84
7.2.7 MFcR2 Signalling (0x6) Commands................................................85
7.2.7.1 MFcR2/COLLECTION SPECIFICATION DOWNLOAD
(0x60)...........................................................85
7.2.7.2 MFcR2/SETUP (0x61)..................................................86
7.2.7.3 MFcR2/EXECUTE (0x63)................................................88
7.2.7.3.1 MFcR2/EXECUTE - Start Forward
Signalling.........................................89
7.2.7.3.2 MFcR2/EXECUTE - Start Backward
Signalling.........................................90
7.2.7.3.3 MFcR2/EXECUTE - Stop MfcR2
Signalling.........................................90
7.2.7.3.4 MFcR2/EXECUTE - Reset MfcR2
Signalling.........................................91
8. Status Messages...........................................................................92
8.1 Status String Format.................................................................92
8.2 Status Message Definitions...........................................................93
8.2.1 IDLE (0x0) Status..............................................................93
8.2.2 DIAGNOSTIC TEST Status.........................................................94
8.2.3 DTMP Detection (0x2) Status Messages........................................94
8.2.3.1 DTMF/DIGIT REPORT (without times) (0x20)............................95
8.2.3.2 DTMF/DIGIT REPORT (with times) (0x21)...............................96
8.2.3.3 DTMF/DIGIT ERROR (0x22).............................................96
8.2.4 MF Detection (0x3) Status Messages..........................................97
8.2.4.1 MF/DIGIT REPORT (without times) (0x30)..............................97
8.2.4.2 MF/DIGIT REPORT (with times) (0x31).................................98
8.2.4.3 MF/DIGIT ERROR (0x32)...............................................99
-5-
22
EVP-SRM (DSP) Software Design Specification 6
------------------------------------------------------------------------
8.2.5 CP Detection (0x4) Status Messages...........................................99
8.2.5.1 CP Detect/TONE DETECTED (0x40)......................................100
8.2.5.3 CP Detect/EVENT (0x41)..............................................100
8.2.5.3 CP Detect/ERROR (0x42)..............................................101
8.2.6 Tone Generation (0x5) Status Messages.......................................102
8.2.6.1 Tone Generation/OUTPULSE COMPLETE (0x50)...........................102
8.2.6.2 Tone Generation/ERROR (0x51).......................................102
8.2.7 MFcR2 Signalling (0x6) Status Messages......................................103
8.2.7.1 MFcR2/DIGIT REPORT (0x60)...........................................103
8.2.7.2 MFcR2/Error (0x32)..................................................105
-6-
23
EVP-SRM (DSP) Software Design Specification 1
------------------------------------------------------------------------
1. Introduction
1.1 Open Issues
1. Format of MFcR2 commands/status/parameters needs to be expanded to handle
compelled signalling.
2. References and glossary need to be completed.
1.2 Change History
1.3 Purpose of Document
This document is the contract between the Digital Signal Processor (DSP, Service
Engine) software developers, the system software developers, and the hardware
developers as to what the DSP software does and how it interacts with the
hardware and firmware on the Service Resource Module (SRM) and the Service
Platform Card (SPC). This document details the architecture, functions,
performance, and interface of all DSP functions that run on the DSP.
1.4 Intended Audience
This document is intended for system engineers, hardware engineers, and system
software (firmware) engineers developing the SRM.
1.5 Related Documents
This document references the following D2 internal documents:
1. VP Open Software Interface Specification, D2 Technologies, Document
Number 70001, February 1995.
2. VP Open System Component User's Guide, D2 Technologies, Document Number
70002, February 1995.
3. SRM Internal Software Design Specification, D2 Technologies, Document
Number [TBD], July 1997.
4. HDLC Module: Detailed Software Design Specification, D2 Technologies,
Document Number [TBD], June 199?.
This document references the following external documents:
-1-
24
EVP-SRM (DSP) Software Design Specification 2
------------------------------------------------------------------------
1.
1.6 Glossary and Abbreviations
ANS V.25 Modem Answering Signal
Bellcore Xxxx Communications Research
CS4x Abbreviation for Texas Instruments' family of fixed point
digital signal processors based on the XX0000X00 core.
CNG FAX Calling Tone
CP Call Progress
CPE Customer Premise Equipment
DSP Digital Signal Processor or Digital Signal Processing
DTMF Dual Tone Multi frequency
PCM Pulse Code Modulation
RMS Root Mean Square
SIT Special Information Tone
SNR Signal to Noise Ratio
TDM Time Division Multiplex
-2-
25
EVP-SRM (DSP) Software Design Specification 3
------------------------------------------------------------------------
2. DSP HARDWARE REQUIREMENTS
2.1 Overview
The hardware required for the Service Engine consists of four key components:
1. TMS320LC548PGE-66 processor.
2. Two Buffered Serial Ports
3. One Time Division Multiplexed Interface Serial Port
4. Program and data RAM.
The following sections shall outline the requirements for various subsystems
outlined above.
2.2 The TMS320LC548 Processor
The SRM design requires:
1. A TMS320LC548PGE running at 66 MIPS. Additional ports per DSP can
be supported if a DSP at a faster speed is used.
2. 64k x 16 of zero wait-state SRAM mapped into both program space
(starting at program address 0x0000) and data space (also starting
at data address 0x0000).
3. On-chip serial port interface to the TDM highway used for boot
loading.
2.3 Two Buffered Serial Ports
The C548 processor has two buffered serial ports, which will be used to route
voice data and HDLC messaging to the DSP from the Core Processor.
In the initial software, only one buffered serial port will be used. Where
appropriate, however, command and status messages, as well as parameters, will
be formatted to allow for usage of both buffered serial ports.
2.4 Interprocessor Communications
The DSP shall be loaded by the Core Processor using the DSP serial boot mode.
-3-
26
EVP-SRM (DSP) Software Design Specification 4
------------------------------------------------------------------------
Communications between the DSP and the Core Processor is accomplished by
using the first 8-bit PCM timeslot on the first buffered serial port of
each DSP. The DSP and the Core Processor communicate using point-to-point
HDLC protocol over this timeslot.
2.4.1 Loading DSP Programs
A two-stage boot load will be used to load DSP programs. Since the core
processor is booting several DSPs with the same image, however, there
shall be no signalling from the DSP to the Core Processor during boot.
This is achieved as follows:
o The runtime DSP image shall consist of a boot loader, then several (TBD)
zeros, then the actual runtime image.
o The Core Processor shall utilize the standard method of booting the DSP
through the TDM port with this image.
o The DSP, upon downloading the boot loader section, will begin executing
the boot loader section.
o The boot loader section will reconfigure the memory map, interrupts, and
interrupt vectors. Then, the boot loader will monitor the TDM port for
the end of the zeros section. This zero section is present simply to
allow for a delay between the end of the boot section and the beginning
of the runtime image section. Its length will be determined by the
maximum delay needed for the boot loader section to execute.
o When the actual runtime image begins to be sent over the TDM port, the
boot loader will copy the image to the correct locations.
o When the image is completely downloaded, the boot loader branches to
start executing the runtime image.
This method of dual-stage booting is advantageous because the Core Processor can
send the same image to all DSPs that use a particular image, and no two-way
communication is needed until after the boot. It also allows for booting code
into sections of memory not addressable during the ROM boot.
-4-
27
EVP-SRM (DSP) Software Design Specification 5
------------------------------------------------------------------------
2.4.2 Starting Communications
When the DSP executes the runtime image, the following steps are taken in order:
1. The DSP initializes control bits.
2. The DSP initializes (and preprocesses, if necessary) all parameters.
3. The DSP signals to the Core Processor that it is ready to accept
commands.
2.4.3 Steady State Communications
All steady state communications is done using the HDLC protocol over the first
timeslot on the first buffered serial port.
2.5 Emulator support
It is often necessary to use an emulator (Texas Instruments' XDS510) to debug
the DSP during integration. To provide access for XD5510, there shall be a 14
pin JTAG connector as described in Appendix B of the TMS32054x DSP CPU and
Peripherals Reference Set, Volume 1.
3. DSP Software Functions and Architecture
3.1 DSP Functions
The following signal processing functions shall be ported to the SPC.
1. Detection of DTMF signals.
2. Detection of MFRl, MFR2 Forwards, and MFR2 Backwards signals.
3. Detection of call progress (CP) tones and voice activity. CP tones
consist of the standard call progress plan tones, in addition to Special
Information Tones (SITs) and FAX Modem tones.
4. Generation of DTMF, MFR1, MFR2, call progress, and other tones.
5. Execution of compelled signalling protocols for MFcR2 signalling. This
will allow for compelled signalling using any combination of Rl, R2
Forwards, and R2 Backwards tones for generation and detection.
-5-
28
EVP-SRM (DSP) Software Design Specification 6
------------------------------------------------------------------------
3.2 DSP Software Architecture
All DSP software conforms to the VP Open software architecture. All DSP
modules work on 64 sample blocks of data (8 ms). in each 8 ms interval, the DSP
performs the following functions:
1. Reads data from the buffered serial ports. This includes timeslot data as
well as commands from the Core Processor.
2. Interprets the Core Processor commands into calls to selected DSP
functions.
3. Sends data to the buffered serial ports. This includes voice data as well
as status to the Core Processor.
The scheduling of these functions is handled by the Command and Status Module
(CSM) according to the VP Open specification. Detailed description of the code
is presented in the following sections, in addition to [3].
3.3 Command and Status Module
In addition to communication with external devices and controlling the data flow
within the DSP, the CSM manages which modules are executed on the data. For each
command from the Core Processor, the CSM defines a state consisting of a
sequence of modules that are run.
The CSM is designed to handle multiple ports in different states. The state
machine and the states are designed so that any state transition is allowed.
HOWEVER, DUE TO MEMORY AND MIPS CONSTRAINTS, THERE WILL BE SEVERAL VERSIONS OF
THE RUN TIME CODE, EACH OF WHICH SUPPORTS A SUBSET OF THE STATES. EACH DSP WOULD
THUS BE DEDICATED TO A SUBSET OF THE TOTAL FUNCTIONALITY.
THE THREE SUBSETS OF FUNCTIONALITY WILL BE:
1. DTMF, MFR1, MFR2 FORWARDS, AND MFR2 BACKWARDS DETECTION
2. MFCR2 SIGNALLING AND TONE GENERATION
3. CALL PROGRESS DETECTION
-6-
29
EVP-SRM (DSP) Software Design Specification 7
------------------------------------------------------------------------
3.4 Major States
3.4.1 DTMF DETECT
The DTMF DETECT state is used by the Core Processor to collect DTMF digits. In
this state, the DTMF detector detects DTMF digits. Reporting of DTMF digits to
the Core Processor happens when the requisite number of digits has been
collected, or when a time-out has occurred.
[Flow Chart depicting DTMF Detect state]
Figure 3-1: DTMF DETECT state]
-7-
30
EVP-SRM (DSP) Software Design Specification 8
------------------------------------------------------------------------
3.4.2 MF DETECT
The MF DETECT state is used by the Core Processor to collect Multifrequency R1,
R2 Forwards, and R2 Backwards digits. Note, however, this is not the state that
does compelled signalling. In this state, the MFD detector only DETECTS MF
digits. Reporting of detected digits to the Core Processor happens when the
requisite number of digits has been collected, or when a time-out has occurred.
[Flow Chart depicting the MF Detect state]
Figure 3-2: MF DETECT State
-8-
31
EVP-SRM (DSP) Software Design Specification 9
------------------------------------------------------------------------
3.4.3 CP DETECT
The CP DETECT state is used by the Core Processor to detect call progress, modem
ANS, CNG, SIT, and other call progress-like tones. In this state, the UTD
detector detects call progress tones and reports detection of the tones to the
Core Processor.
[Flow Chart depicting CP Detect state]
Figure 3-3: CP DETECT State
3.4.4 TONEGEN
The TONEGEN state is used by the Core Processor to generate tones or series of
tones. In this state, the GENF module is used to generate the tones.
[Flow Chart depicting Tonegen state]
Figure 3-4: TONEGEN State
-9-
32
EVP-SRM (DSP) Software Design Specification 10
------------------------------------------------------------------------
3.4.5 MFcR2
The MFcR2 state is used by the Core Processor to do R2 compelled signalling. In
this state, the MFD detector detects MF digits, and the GENF tone generator
generates MF digits.
[Flow Chart depicting MFcR2 state]
Figure 3-5: MFcR2 State
3.4.6 IDLE
This state is used when a timeslot is not assigned to a voice port, or when
there are no signals to be processed. In the IDLE state, there is no processing
of Line In or Line Out.
3.5 Multi-port Management
Since all DSP modules are VP Open compatible, the DSP can easily support as many
simultaneous phone ports as memory and processor load allow. For each port,
memory is allocated for each module. This memory is referred to as the module's
object. The module uses the object to maintain its internal state from call to
call.
To run multiple ports, the CSM checks to see if there are any state transitions.
If there are, the objects for that port are reinitialized as required. Next, the
CSM runs all modules for each port with the appropriate data and module objects.
The CSM schedules ports on a round xxxxx basis with all ports completing
processing on one block of data within the 8 ms block processing time. Finally,
the CSM outputs the status and data for all ports and restarts the process by
looking for new commands.
4. Signal Processing Algorithm Specification
This section lists the functional and performance requirement of the major DSP
algorithms included in the DSP software.
-10-
33
EVP-SRM (DSP) Software Design Specification 11
------------------------------------------------------------------------
4.1 HDLC Communications
All command, status, and configuration signalling between the Core Processor and
the DSP will be sent over the first time slot on the first Buffered Serial Port,
utilizing point-to-point HDLC communications.
This algorithm is presented in detail in [4].
4.2 Voice Activity Detection
Voice Activity Detection (VAD) detects voice activity, adapts to background
ambient or line noise as well as the presence of echo, classifies voice activity
as "early" versus "sustained", and assigns an "effort level" to the speaker that
is independent of network loss.
This module is used to detect voice activity in the cP DeteCt state.
4.2.1 Functional requirements:
The Voice Activity Detector discriminates voice activity generated by a caller
from background noise (acoustic and line noise) as well as echo and sidetones
reflected back to the receive voice path. It also provides an "effort level"
quantity that indicates the level of effort of the caller. The functional and
performance requirements are specified to cover a wide range of applications,
such as voice activated recordings (as in voice messaging), outbound call
classification, digital speech interpolation (DSI), and voice conferencing.
1. The Voice Activity Detector classifies every block of voice data (8 xx
xxxx) as "port active" (early detect), "speaker active" (port sustained),
and "not active".
2. It provides a measurement that approximates the level of effort exerted
by the caller. Such an approximation is made by normalizing the short
term RMS of the voice signal by a longer term RMS value. The "effort
level" varies between -32 dB and 31 dB, and is at 0 dB when the speaker
is speaking at his/her "normal" level.
3. The Voice Activity Detector adapts to background noise up to -24 dBm.
Adaptation is 200 ms when the noise level drops, and is approximately
1000 ms when noise rises.
4. The Voice Activity Detector screens out sidetone or echo as speech up to
an ERL of -26dB.
-11-
34
EVP-SRM (DSP) Software Design Specification 12
------------------------------------------------------------------------
4.2.2 Performance Requirements:
The accuracy of the voice Activity detector is measured by the rate of "false
detection" (i.e. classifying noise or echo as voice activity) and "clipping"
(i.e. classifying voice activity as noise or echo) under different ambient noise
and echo conditions.
"Port active" detection under different ambient noise conditions:
1. No perceptible clipping at quiet to modest noise levels of -50 dBm to -40
dBm with nominal levels of speech activity (-20 dBm average power over 2
seconds of speech). No more than 5% of voice onsets is clipped for noisy
conditions (noise level from -40 dBm to -30 dBm).
2. No more than 1% of "silence" periods is detected as speech for the modest
noise condition. No more than 2% of "silence" is detected as port active
for noisy conditions.
3. The performance goals above is met when noise levels change during the
test.
"Speaker active" detection under different ambient noise conditions:
1. Speech activity that lasts more than tSUSTAIN is detected as "Sustained"
or "Speaker Active".
2. The clipping requirements is better than "Port Activity" detection. Fewer
than 0.50/0 of onsets/hour (2.5 per hour) for modest noise condition (-45
dBm) and fewer than 2 % (10 per hour) for high noise condition (-35 dBm)
have perceptible clipping.
3. False detection performance (i.e., detecting noise as "speaker active")
exceeds those of "port activity" due to tSUSTAIN criteria. No more than
1% (36 seconds per hour) of noise segments is misclassified as
"sustained" for modest noise conditions, and no more than 2% (72 seconds
per hour) of "silence" is detected as port active for noisy conditions.
"Port active" and "Speaker active" detection in the presence of echo:
1. Less than 1% of residual echo is detected as "port active" - (i.e. 36
sec. per hour) during normal operation of canceller.
-12-
35
EVP-SRM (DSP) Software Design Specification 13
------------------------------------------------------------------------
2. Less than 0.1 % (i.e. 3.6 sec per hour) of residual echo is detected as
"speaker active" or "port sustained" during normal operation of
canceller.
3. Clipping of input speech in the presence of echo is no higher than
clipping in the presence of modest to high level of noise.
4.3 DTMF Detection
4.3.1 Functional requirements:
specifies the nominal frequencies for the DTMF digits that must be detected.
--------------------------------------------------------------------------------
Nominal High Group Frequencies (Hz)
1209 1336 1477 1633
--------------------------------------------------------------------------------
Nominal 697 1 2 3 A
Low Group 770 4 5 6 B
Frequencies 852 7 8 9 C
(Hz) 941 * 0 # D
--------------------------------------------------------------------------------
Table 4-1: Nominal DTMF Frequencies
1. Detect the presence of all 16 DTMF digits that are produced by different
phones on the market under a broad range of network conditions.
2. DTMF digit information is provided as soon as the minimum duration is
met. This information is called leading edge detection. This allows the
earliest possible response to the digit, such as stopping voice output.
3. The trailing edge of a DTMF digit must be detected. This allows the
system to delay any response (such as playing out voice) to the digit
until the user has released the DTMF key. The criteria selected for
trailing edge detection will debounce DTMF digits.
4. The DSP reports leading and trailing edge in the 8 ms block that they are
detected. DTMF events are not buffered.
-13-
36
EVP-SRM (DSP) Software Design Specification 14
------------------------------------------------------------------------
4.3.2 Performance requirements:
Table 4-2 consists of performance requirements taken from EIA-464A and Bellcore
TR-TSY-000181. Also shown is D2's DTMF performance requirements, which is a
superset of the EIA and Bellcore requirements.
---------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
Characteristic Bellcore EIA/TIA-464A D2
---------------------------------------------------------------------------------------------
Frequency +/-1.5% must accept; +/-1.5% must accept; Configurable choice of
Deviation +/-3.5% must reject +/-3.5% must reject Four sets of must
accept/must reject:
+/-2.0% accept to +/-3.0%
reject
+/-2.5% accept to +/-3.5%
reject;
+/-3.0% accept to +/-4.0%
reject;
+/-3.5% accept to +/-4.5%
reject
---------------------------------------------------------------------------------------------
Minimum 40 ms must accept; 40 ms must accept Configurable from 24 to
Tone 23 ms must reject 80 ms
Duration
---------------------------------------------------------------------------------------------
Minimum 40 ms 40 ms Configurable from 24 to
Interdigital 80 ms
Interval
---------------------------------------------------------------------------------------------
Minimum 93 ms 93 ms Configurable from 48 to
Cycle Time 160
---------------------------------------------------------------------------------------------
Accept Levels 0 to -36 dBm must 0 to -25 dBm must 0 dBm to configurable
accept; -55 dBm accept minimum (-25 to -45
must reject dBm range)
---------------------------------------------------------------------------------------------
Twist (ratio of -8 to +4 dB -8 to +4 dB Separately configurable
high group positive and negative
power to low) twists:
+/-4, 6, 8, 10, and 12 dB
---------------------------------------------------------------------------------------------
-14-
37
EVP-SRM (DSP) Software Design Specification 15
------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
Bellcore Fewer than 670 - Fewer than 20 talkoffs
talkoff tape total talkoffs; fewer (with default
than 330 talkoffs of configuration of 2.5% to
digits 0-9; fewer 3.5% frequency
than 170 talkoffs of deviation; 40 msec min
signals* and #. tone duration; +/-8 dB
twist; -45 dBm min
accept level)
---------------------------------------------------------------------------------------------
Mitel talkoff - - 0 talkoffs (with default
tape configuration)
---------------------------------------------------------------------------------------------
SNR 23 dB 15 dB 15 dB
---------------------------------------------------------------------------------------------
Impulse Noise Fewer than 14 Fewer than 10 Pass both Bellcore and
missed or split errors in 10,000 EIA/TIA-464A impulse
digits in Bellcore tones for EIA test noise requirements
Impulse Noise Tape #1; fewer than 500
No. 201 errors in 10,000
tones for test #2
---------------------------------------------------------------------------------------------
Echo 16 dB Signal-to- 10 dB Signal-to- Pass both Bellcore and
Echo ratio at 20 Echo ratio at 20 EIA/TIA-464A echo
ms; ms requirements
24 dB at 45 ms
---------------------------------------------------------------------------------------------
Dial Tone DTMF Detection in DTMF Detection Pass both Bellcore and
the presence of in the presence of EIA/TIA-464A
dial tone at -15 dial tone at -16 requirements for
dBm per dial tone dBm per dial tone detection of DTMF
frequency frequency digits in the presence of
dial tone
---------------------------------------------------------------------------------------------
Table 4-2: DTMF Performance Requirements
Other performance requirements:
1. A leading edge of DTMF digit is signaled during the block in which the
minimum duration is met, and the trailing edge is signaled during the
block in which the minimum debounce interval is met.
2. Talk-down: DTMF detection must work reliably in the presence of echo (for
the maximum allowable output voice level) and with varying levels of DTMF
-15-
38
EVP-SRM (DSP) Software Design Specification 16
------------------------------------------------------------------------
signals (due to network loss). D2's DTMF detector combined with the echo
must meet the performance requirements of Figure 4-1 in the presence echo
generated by playing pause-removed voice (male and female) at -18 dBm ASL
(averaged over 3 seconds) over a telephone circuit with 15 dB echo return
loss (ERL).
[Graph depicting DTMF Talk-down Acceptance Curve]
Figure 4-1: DTMF Talk-down Acceptance Curve
3. Debounce test: Long tones (generated by "hard" key presses) must not be
detected as multiple tones in the presence of echo interference or line
noise. Combined with the echo canceller, the DTMF detector is required to
reliably "debounce" all DTMF digits above -18 dBm in the presence of
voice levels below -15 dBm (ASL) and a telephone circuit with echo return
loss (ERL) of 15 dB.
4. Double-talk talk-off: Many voice processing hardware or semiconductor
manufacturers signficantly degrade the "talk-off" performance of their
detector in the presence of voice echo or sidetone to achieve a high
level of talk-down performance. This strategy is acceptable in a pure
digit-in-voice-out scenario, but for voice conferencing or voice
recognition applications, voice could be present in the both the transmit
and receive path. In such cases, the DTMF detector must be very robust
against "talk-off" in double-talk situations. The talk-off requirements
for D2's DTMF detector under double- talk is fewer than 66 talkoffs for
the Bellcore talk-off tape.
4.4 Tone Generation
The tone generation module can be programmed to generate any single, dual or
amplitude modulated tone required to meet international telecommunications
specifications. This functionality is provided by the GENF module, which
produces the sum or product of two independently generated sine waves as its
output. Each sine wave can be individually parameterized.
4.4.1 Functional requirements:
The GENF module is designed to generate a wide range of DTMF, Call Progress
Signals, MF R1/R2, and miscellaneous tones. In order to meet or exceed
-16-
39
EVP-SRM (DSP) Software Design Specification 17
------------------------------------------------------------------------
international telecommunication specifications, GENF must meet or exceed the
following functional requirements.
1. Independent arguments shall be supplied for each frequency for dual tones
that GENF generates. Single tones are generated by specifying that one of the
dual tone's frequencies is 0 Hz.
2. Independent arguments shall be supplied for the carrier and modulation
frequencies for amplitude modulated tones that GENF generates.
3. Arguments shall be supplied that allow the frequency of a tone to be set
in the range of 0 to 4000 Hz in 1 Hz units. 4. Arguments shall be supplied that
allow the output power to be set in the range of +3 to -50 dBm in 0.5 dB steps.
5. Arguments shall be supplied that allow an amplitude modulated tone's
modulation percentage to be set in the range of 0 to 300% in 1% units.
6. The tone duration (make time) shall be specified in 1 ms units. Tone
durations shall be specified in the range of 0 to 8191 ms.
7. An unlimited tone duration shall be specified by setting the make
duration to -1.
8. The silence duration between tones (break time) shall be specified in 1
ms units. Silence durations shall be specified in the range of 0 to 8191 ms.
9. An unlimited silence duration shall be specified by setting the make
duration to -l and setting both frequencies of a dual tone to 0 Hz.
10. The GENF module shall allow tones to be generated that meet or exceed
EIA/TIA-464 requirement for DTMF and call progress tone generation.
11. The GENF module shall allow tones to be generated that meet or exceed
CCITT Blue Book Volume VI Fascicle VI.4 recommendations Q.3l0-Q.490 requirements
for MF R1 and R2 tone generation.
12. The GENF module shall generate tones with one to three unique caence
pairs (on/off pairs).
-17-
40
EVP-SRM (DSP) Software Design Specification 18
------------------------------------------------------------------------
4.4.2 Performance Requirements
1. Frequency accuracy shall exceed 1 Hz.
2. Level accuracy shall exceed 0.5 dB.
3. Timing information shall exceed 1 ms accuracy.
4.5 Universal Tone Detector
4.5.1 Overview
The Universal Tone Detector (UTD) is a high configurable tone detector. By
changing parameters, this algorithm can classify a wide range of single and dual
tone call progress signals generated in a wide variety of countries.
4.5.2 General
Since different tones need different detection heuristics, and tones may have
multiple specifications, each tone is tagged with a tone category identifier.
------------------------------------------------
Tone Category Call Process Signal
------------------------------------------------
1 Modem
2 FAX CNG
3 Audible Ringback
4 Busy
5 Reorder or Congestion
6 Number Unobtainable
7 SIT
8 Dial tone
9 Unknown Tone
------------------------------------------------
Table 4-3: Tone Categories
In addition to specifying a tone category, the parameters include a value that
is returned to the application when the tone is detected. This parameter need
not be unique. This allows multiple specifications to report the same tone event
to the application.
UTD is table driven. Using this approach, the tone detector searches parameter
tables for a matching tone. When a tone matches, the tone code determines the
-18-
41
EVP-SRM (DSP) Software Design Specification 19
------------------------------------------------------------------------
heuristics necessary to completely classify the tone. Also, the tones must be
specified in a way that a set of parameters corresponds to either a single tone,
a dual tone, or an amplitude modulated tone.
--------------------------
Code Tone Type
--------------------------
0 Single Tone
1 Dual Tone
2 Modulated Tone
--------------------------
Table 4-4: Call Progress Tone Types
4.5.3 General Functional Requirements
UTD functionally combines a single tone detector and a dual/modulated tone
detector into a single module. UTD combines the results of these detectors into
a single result.
UTD has the following requirements.
1. The DSP shall indicate that the first ringback has started after at least
400 ms of ringback like signal has been processed, as long as no other
tone type is early detected. If more than one type of tone is early
detected, the first ringback reporting shall be delayed until either
cadence information disqualifies the other types, or tone precedence is
used as a 'tie-breaker'.
2. The DSP shall indicate ringback has stopped when ringback is no longer
detected.
3. The DSP shall indicate a busy tone has been detected after the requisite
number of make and break intervals have been processed, and no other tone
category is still a candidate for detection.
4. The DSP shall indicate a reorder tone has been detected after the
requisite number of make and break intervals have been processed, and no
other tone category is still a candidate for detection.
5. The DSP shall indicate a number unobtainable tone has been detected after
the requisite number of make and break intervals have been processed, and
no other tone category is still a candidate for detection.
-19-
42
EVP-SRM (DSP) Software Design Specification 20
------------------------------------------------------------------------
6. In the event that more than one tone is a candidate for detection,
detection is delayed until all characteristics that may disqualify any of
the candidates are tested (for example, waiting for multiple cadence
pairs to occur). If there is still more than one potential tone after all
differentiating features have been exhausted, then the tone with the
highest precedence is detected. Also, if the tone ceases prior to
singling out one candidate tone, then the tone with the highest
precedence is detected. Precedence is shown in Table 4-6.
7. The DSP shall supply an early detect flag. This flag shall be valid after
the detector has processed no more than 72 ms of a tone. If more than one
tone category is early detected, then the early detect flag shall
indicate the tone category with the highest precedence.
8. The DSP shall indicate that a modem has been detected if a single tone
falls within the specified frequencies for modem tones, the minimum make
interval has been exceeded while the average tone power is in excess of
the minimum power requirement, and no other tone category is still a
candidate for detection.
9. The DSP shall indicate that a FAX CNG tone has been detected if a single
tone falls within the specified frequencies for a CNG tone, the requisite
number of on/off cadences have been processed, and no other tone category
is still a candidate for detection.
10. The DSP shall indicate that a SIT tone has been detected if at least two
of the three segments of possible SIT tones have been detected for at
least the minimum interval in excess of the minimum power requirement.
11. The DSP shall indicate that an Unknown tone has been detected when it has
been determined that a tone has been detected that falls within the
specified frequencies for an Unknown tone, the minimum duration has been
exceeded, and the tone does not match and other category tones.
4.5.3.1 Tone Detector Performance Requirements
4.5.3.1.1 Single Tones
There are four types of parameters that shall be used to control single tone
detection. The variation of each parameter shall be limited by the constraints
listed in Table 4-5.
-20-
43
EVP-SRM (DSP) Software Design Specification 21
------------------------------------------------------------------------
-------------------------------
Minimum Maximum
----------------------------------------------------
Frequency 300 Hz 3300 Hz
----------------------------------------------------
Bandwidth 0 Hz 1800 Hz
----------------------------------------------------
Duration 100 msec 32760 msec
----------------------------------------------------
Minimum -45 dBm 3 dBm
Power Level
----------------------------------------------------
Table 4-5: Single Tone Detection Constraints
The frequency detection range shall be specified the Frequency and Bandwidth
parameters. Figure 4-2 shows the relationship of these parameters. Note that the
bandwidth specification is symmetric about the center frequency.
The Frequency and Bandwidth parameters define a "must detect" range. The
detector shall not use frequency criteria to reject any tones which are within
the range specified Frequency/Bandwidth parameters. Tones whose frequencies are
outside but close to frequency range may be detected.
[Graph depicting frequency domain for a Single Tone]
Figure 4-2: Frequency Domain Representation of tone parameters for a Single Tone
If the Power Level of the detected parameter is greater than the minimum power
specified by the parameters, the signal shall not be rejected by Power Level
heuristics.
Duration parameters are used to set the allowable duration of a tone. Minimum
and maximum tone durations may be specified (make durations). Also, minimum and
maximum silence durations between tones may be specified.
4.5.3.1.2 Dual Tones
Dual tones are created by summing two sinusoids. Since each tone can be isolated
in the frequency domain, dual tones are specified as a pair of single tones.
Parameters for each tone of a dual pair use the same constraints as single
tones. Namely, frequency 1 is the center frequency of the lower tone, and
bandwidth1
-21-
44
EVP-SRM (DSP) Software Design Specification 22
------------------------------------------------------------------------
specifies its frequency tolerance. The same is true for frequency2 and
bandwidth2 for the high tone. Figure 4-3 shows the definition of the frequency
and bandwidth parameters for a dual tone.
[Graph depicting frequency domain for a Dual Tone]
Figure 4-3: Frequency Domain Representation of Tone Parameters for a Dual Tone
Not all dual tones are detectable by UTD. A dual tone shall detected only when
the difference between the two component frequencies is greater than 10 Hz and
less than 230 Hz.
4.5.3.1.3 Amplitude Modulated Tones
Amplitude modulated tones are created by multiplying two sinusoids. When
analyzed in the frequency domain, a modulated tone looks like three tones.
Figure 4- 4 shows the frequency spectrum for a modulated tone.
The tone whose frequency is the average of the other tones is the carrier. The
other two tones can be referred to as side lobes. For amplitude modulated tones,
frequency1 and bandwidth1 specify the low sidelobe and its tolerance, while
frequency2 and bandwidth2 specify the high sidelobe and its tolerance.
[Graph depicting frequency domain for a Modulated Tone]
Figure 4-4: Frequency Domain Representation of Tone Parameters for an Amplitude
Modulated Tone
As with dual tones, not all modulated tones will be detected by UTD. Modulated
tones shall be detected if the difference between the carrier frequency and the
sidelobes is between 10 Hz and 000 Xx.
-00-
00
XXX-XXX (XXX) Software Design Specification 23
------------------------------------------------------------------------
4.5.3.1.4 Precedence
By assigning a detection precedence to the classification process, tone
frequency ranges can overlap. When a tone's parameters fall into a range shared
by two or more signals. The signal is classified as the one with the highest
precedence.
------------------------------------
Precedence Call Progress Signal
------------------------------------
1 Modem
2 FAX CNG
3 Audible Ringback
4 Busy
5 Reorder or Congestion
6 Number
7 Unobtainable
8 SIT
Dial Tone
------------------------------------
Table 4-6: Tone Detection Precedence
Table 4-6 shows the precedence of typical tones that the UTD module detects.
Modem signals have the highest precedence, and Unknown tones have the lowest.
Therefore, the frequency range of unknown tones can safely overlap the other
tone ranges without causing xxxxx to be misclassified. If the range for Unknown
tones is allowed to be the maximum range allowed by the detector, any detected
tone that is unclassified would be designated as Unknown.
4.5.3.1.5 North American Call Progress Signal Detection
Function Requirements:
The tables below specify the frequencies, power levels, and cadence of the
Bellcore and EIA-464A call progress tones.
--------------------------------------------------------------------------------
Frequency (Hz) Power Level (dBm)
--------------------------------------------------------------------------------
Name 350 440 480 620 Per Frequency Combined
--------------------------------------------------------------------------------
Audible Ring X X -22.5+/-1.5
--------------------------------------------------------------------------------
Busy X X -27+/-1.5
--------------------------------------------------------------------------------
Dial Tone X X -17.5 to -15 -13 to -14.5
--------------------------------------------------------------------------------
Intercept X X -20+/-1.5
--------------------------------------------------------------------------------
Reorder X X -27+/-1.5
--------------------------------------------------------------------------------
Table 4-7: Call Progress Tone Frequency and Power Requirements
-23-
46
EVP-SRM (DSP) Software Design Specification 24
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Audible ring repetition of the tone on for 0.8 to 2.2 seconds, and off
for 2.7 to 4.4 seconds
(ring-back)
--------------------------------------------------------------------------------
Busy repetition of the tone on for 0.5+/-0.05 seconds, and off for
0.5+/-0.05 seconds
--------------------------------------------------------------------------------
Dial steady uninterrupted
--------------------------------------------------------------------------------
Intercept repetition of an alternating sequence of the two frequencies
each being on for 0.16 to 0.30 seconds with a total cycle time
of 0.5+/-0.05 seconds
--------------------------------------------------------------------------------
Reorder repetition of the tone on for 0.25+/-0.025 seconds, and off for
0.25+/-0.025 seconds
(fast busy)
--------------------------------------------------------------------------------
Table 4-8: Call Progress Tone Cadence
Performance Requirements
1. Frequency Deviation: Even though the generator is required to meet a
frequency tolerance per tone of +/-0.5%, the detector needs to allow for
a wider frequency tolerance due to variations in generators and line
distortions. The CP detector detects all tones whose component
frequencies deviate less than 1% from nominal.
2. Twist: The CP detector detects all tones whose twist is less than +/-4
dB.
3. Dynamic Range: The CP detector exhibits a minimum dynamic range of 25 dB.
4. Cadence: The CP detector must detect call progress tones whose cadence is
within +/-10%.
5. Talkoff: The CP detector makes no false detections in 12 hours of testing
with voice at -15 to -18 dBm ASL.
4.5.3.1.6 FAX CNG Tone Detection
The standard connection protocol for automatic connection of a FAX modem
requires that the calling FAX modem generate a calling tone (CNG). Hence for
incoming calls, the EVP software has to detect a CNG signal. When CNG is
detected, EVP alerts the Core Processor to redirect the call to a FAX machine or
a FAX modem embedded within the call processing system.
-24-
47
EVP-SRM (DSP) Software Design Specification 25
------------------------------------------------------------------------
Functional Requirements:
Detect the presence of the FAX calling tone (CNG). A CNG signal is defined as
follows:
[Graph depicting fax calling tone]
Figure 4-5: Fax calling tone (CNG)
a) The CNG tone is within 38 Hz of nominal frequency.
b) The timing tolerance of a CNG tone is +/-15%.
c) The power of a CNG tone is between 0 and -43 dBm.
Performance Requirements:
1. The detector does not miss any CNG signals on a prerecorded tape
containing 50 CNG tone samples collected from 5 different FAX machines.
2. The detector does not miss any CNG signals from the same FAX machines
connected to a local CO with a noise level of less than -45 dBm.
3. The detector misses less than 0.5% of CNG signals (generated at -10 dBm)
when compressed voice is output at a level of -15 dBm or less (average
over 3 seconds) into a network whose ERL is greater than 15 dB.
4. The detector does not falsely detect more than 1 CNG tone per 5 hours of
voice (based on Bellcore recorded talk radio voice tapes.)
4.5.3.1.7 Modem Tone Specification
All answering modems that conform to the ITU V.25 answering sequence present a
2100 Hz tone 1.8 to 2.5 seconds after answering the telephone line. Figure 4-6
and Figure 4-7 show the timing of the answering tone (ANS). In Figure 4-6, the
2100 Hz tone reverses phase every t intervals. These phase reversals disconnect
echo cancelers and echo suppressors from the network. According to ITU G.164,
phase reversal shall be accomplished such that the phase is within 180+/-10
degrees in 1 ms
-25-
48
EVP-SRM (DSP) Software Design Specification 26
------------------------------------------------------------------------
and that the amplitude of the 2100 Hz tone is not more than 3 dB below its
steady state value for more than 400 usec.
[Graph depicting tuning for answering Modem with Phase reversal]
Figure 4-6: Timing for Answering Modem with Phase Reversal
[Graph depicting timing for answering Modem without Phase reversal]
A timing diagram for an answering modem without phase reversal is shown in
Figure 4-7. The timing is identical with that of phase reversing tone except for
the reversal timing.
Figure 4-7: Timing for Answering Modem without Phase Reversal
Table 4-9 contains the nominal frequency, power, and duration requirements for
-------------------------------------------
Minimum Maximum Unit
-------------------------------------------------------------------
Frequency 2085 2115 Hz
-------------------------------------------------------------------
Duration 2.6 4.0 seconds
-------------------------------------------------------------------
Power -18.0 -6.0 dBm0
-------------------------------------------------------------------
generating modem tones as derived from V.25 and G.164.
Table 4-9: Modem Tone Generation Requirements
-26-
49
EVP-SRM (DSP) Software Design Specification 27
------------------------------------------------------------------------
Performance Requirements:
1. The detector does not miss any modem answer tone on a pre-recorded tape
containing 50 modem answer tone samples collected from 5 different data
modems.
2. The detector does not miss any modem answer tone signals from the same
data modem connected via a local CO with a noise level of less than -45
dBm.
3. The detector does not miss more than 0.5% of modem answer tones
(generated at -10 dBm) when compressed voice is played at a level of - 15
dBm (ASL) or lower into a network connection with ERL greater than 15 dB.
4. The detector does not falsely detect the presence of a modem answer tone
more than once per 5 hours of voice (using Bellcore recorded talk radio
voice tapes).
5. There is no talkdown performance requirement. The near end is always
silent and does not interfere with far end modem ANS signals.
6. There shall be fewer than 1 talkoff in 5 hours of call classification
when the detector is programmed with the recommended parameters. Assuming
that each call is resolved within an average time of 10 seconds, there
shall be less than 1 talkoff in 1800 calls.
4.5.3.1.8 Three Tone Sequences
Most countries that generate Special Information Tones (SIT) use a three tone
sequence. SIT sequences are generated by various central offices or common
carrier switching points to indicate a problem with the dialed call. A SIT tone
sequence generally precedes a recorded voice announcement such as "the number
you have dialed is no longer in service..." and is provided specifically for the
purpose of detection of the problem type by an automated device.
There are two popular types of SIT sequences. The first type is used mainly it
Europe. It consists of a sequence of three tones of identical durations. The
second type is the one used in North America. There are several North American
SIT sequences that are encoded using various combinations of frequency and
duration for each of the three tones. The encoding has been standardized by
Bellcore.
-27-
50
EVP-SRM (DSP) Software Design Specification 28
------------------------------------------------------------------------
Performance Requirements:
1. The UTD shall handle both types of sequences.
2. There is no talkdown performance requirement. The near end is always
silent and does not interfere with far end SIT signals.
3. There shall be fewer than 1 talkoff in 5 hours of voice when the detector
is programmed with the recommended parameters. Assuming that each voice
call is has an average of 2 seconds of voice, there shall be fewer than 1
talkoff in 9000 calls.
4.5.3.1.9 Unknown Tone
Any single tone, dual tone, amplitude modulated tone or single tone sequence
that is not classified as a CP, SIT, CNG or modem ANS tone, shall be reported as
an unknown tone.
Performance Requirements:
1. Talkdown performance requirement [TBD]
2. There shall be fewer than 1 talkoff in 5 hours of voice when the detector
is programmed with the recommended parameters (minimum tone duration 400
ms). Assuming that each voice call is has an average of 2 seconds of
voice, there shall be fewer than 1 talkoff in 9000 calls.
4.6 Multifrequency Tone Detection (MFD)
The MFD algorithm module detects the presence of R1, R2 Forward, and R2 Backward
Multifrequency (MF) tones under a broad range of network conditions and under
international telecommunications specifications.
-28-
51
EVP-SRM (DSP) Software Design Specification 29
------------------------------------------------------------------------
4.6.1 Functional requirements:
Table 4-10, Table 4-11, and Table 4-12 specify the nominal frequencies for the
MF digits that must be detected.
-----------------------------------------------------------------------
F1(Hz) F2 (Hz)
900 1100 1300 1500 1700
----------------------------------------------------------
700 1 2 4 7 Spare
900 - 3 5 8 Spare
1100 - - 6 9 KP
1300 - - - 0 Spare
1500 - - - - ST
-----------------------------------------------------------------------
Table 4-10: Nominal MF R1 Frequencies and corresponding digit definitions
-----------------------------------------------------------------------
F1(Hz) F2 (Hz)
1500 1620 1740 1860 1980
----------------------------------------------------------
1380 1 2 4 7 11
1500 - 3 5 8 12
1620 - - 6 9 13
1740 - - - 10 14
1860 - - - - 15
-----------------------------------------------------------------------
Table 4-11: Nominal MF R2 Forward Frequencies and corresponding
combination numbers
-29-
52
EVP-SRM (DSP) Software Design Specification 30
------------------------------------------------------------------------
-----------------------------------------------------------------------
F1(Hz) F2 (Hz)
1020 900 780 660 540
----------------------------------------------------------
1140 1 2 4 7 11
1020 - 3 5 8 12
900 - - 6 9 13
780 - - - 10 14
660 - - - - 15
-----------------------------------------------------------------------
Table 4-12: Nominal MF R2 Backward Frequencies and corresponding
combination numbers
1. Be configurable to detect either R1, R2 forward, or R2 backward MF digits
on a per-call basis.
2. Detect the presence of all 15 R1, 15 R2 Forward, and 15 R2 Backward
digits under a broad range of network conditions.
3. MF digit information is provided as soon as the minimum duration is met.
This information is called leading edge detection. This allows the
earliest possible response to the digit, such as in compelling
signalling.
4. The trailing edge of a MF digit must be detected. This allows the system
to delay any response (such as in compelled signalling) to the digit
until it is removed. The criteria selected for trailing edge detection
will debounce MF digits.
5. The DSP reports leading and trailing edge in the 8 ms block that they are
detected. MF events are not buffered.
4.6.2 Rl Detection Performance requirements:
Table 4-13 consists of MF Rl tone detection performance requirements taken from
CCITTJITU Q310-Q331 and Bellcore TR-NWT-000506. Also shown is D2's MF R1
performance requirements, which is a superset of the CCITT and Bellcore
requirements.
-30-
53
EVP-SRM (DSP) Software Design Specification 31
------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
Requirement
-------------------------------------------------------------------------------------------------------------------------------
CHARACTERISTIC BELLCORE CCITT/ITU D2
-------------------------------------------------------------------------------------------------------------------------------
Frequency Deviation +/-(1.5%+ 5 Hz) must accept +/-1.5% must accept Configurable choice of three
sets of must accept
frequency tolerance:
+/-(1.5% + 5 Hz),
+/-(1.5% + 10 Hz),
+/-(1.5% + 15 Hz)
-------------------------------------------------------------------------------------------------------------------------------
Tone Duration KP signal: >54 ms must <30 ms must accept Minimum duration is
accept; <30 ms must reject configurable in 4 ms steps,
<10 ms must reject from 28 ms up. Can be
-
All others: > 30 ms must configured for >30 ms must
accept; < 10 ms must reject accepts, < 10 ms must reject
-------------------------------------------------------------------------------------------------------------------------------
Minimum Interdigital Must accept interdigital Must accept interdigital Minimum interdigital
Interval intervals > 25 ms. intervals > 20 ms interval is configurable in 4
- - ms steps. Can be configured
for > 20 ms accept; < 10 ms bridge
Must bridge interdigital - -
intervals < 10 ms
-------------------------------------------------------------------------------------------------------------------------------
Minimum Cycle Time Up to 10 pulses per second - > 10 pulses per second
(100 ms cycle time) (< 100 ms cycle time)
-------------------------------------------------------------------------------------------------------------------------------
Accept Levels 0 to -25 dBm must accept - Minimum power is
configurable from -25 dBm
< -35 dBm must reject to -45 dBm per frequency
-
-------------------------------------------------------------------------------------------------------------------------------
Twist (ratio of high group < 6 dB twist must accept < 6 dB twist must accept < 6 dB twist must accept
power to low) - - -
-------------------------------------------------------------------------------------------------------------------------------
SNR (white noise) 20 dB - 20 dB
-------------------------------------------------------------------------------------------------------------------------------
Impulse Noise Fewer than 14 missed or - Fewer than 14 missed or
split digits in Bellcore Impulse split digits in Bellcore Impulse
Noise Tape No. 201 Noise Tape No. 201
-------------------------------------------------------------------------------------------------------------------------------
Disturbing Frequencies Detection in the presence of - Detection in the presence of
2A-B and @b-A modulation 2A-B and @b-A modulation
products 28 dB below each products 28 dB below each
frequency component level frequency component level
of the signals. of the signals.
-------------------------------------------------------------------------------------------------------------------------------
Table 4-13: MFD R1 Detection Performance Requirements
4.6.3 R2 Detection Performance Requirements
Table 4-14 shows the MF R2 tone detection performance requirements taken from
CCITT/ITU Q400-490. The MFD module is required to pass all XXXXX/XXX
xxxxxxxxxxxx.
-00-
00
XXX-XXX (XXX) Software Design Specification 32
------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
CHARACTERISTICS CCITT/ITU REQUIREMENT CCITT/ITU REQUIREMENT
------------------------------------------------------------------------------------------------------------------------------
Frequency Deviation +/-10 Hz must accept Configurable choice of three sets of
must accept frequency tolerance:
x/-00 Xx,
x/-00 Xx,
+/-20 Hz
------------------------------------------------------------------------------------------------------------------------------
Tone Duration Must reject signals < 7 ms Must reject signals < 7 ms
- -
------------------------------------------------------------------------------------------------------------------------------
Minimum response time for R2 detect delay + generate delay < 70 ms detect delay + generate delay < 70 ms
compelled signalling - -
detect delay + decision delay + detect delay + decision delay +
generate delay < 80 ms generate delay < 80 ms
- -
------------------------------------------------------------------------------------------------------------------------------
Accept Levels -5 dBm0 to -31.5 dBm0 must detect; Minimum power is configurable from -
25 dBm to -45 dBm per frequency
-38.5 dBm0 must reject
------------------------------------------------------------------------------------------------------------------------------
Twist (ratio of high group power to < 5 dB twist must accept for adjacent < 5 dB twist must accept for adjacent
low) - -
frequencies; frequencies;
< 7 dB twist must accept for non- < 7 dB twist must accept for non-
- -
adjacent frequencies adjacent frequencies;
20 dB twist must reject 20 dB twist must reject
------------------------------------------------------------------------------------------------------------------------------
Disturbing Frequencies Must not falsely detect due to any one Must not falsely detect due to any one
or more valid R2 frequencies at -55 or more valid R2 frequencies at -55
dBm per frequency. dBm per frequency.
In the presence of a valid R2 tone, no In the presence of a valid R2 tone, no
missed detections and no false missed detections and no false
detections due to any of the remaining detections due to any of the remaining
frequencies at 20 dB below the highest frequencies at 20 dB below the highest
of the MF tone pair. of the MF tone pair.
Must not falsely detect due to: Must not falsely detect due to:
1. Any 1 or 2 pure sine waves, 1. Any 1 or 2 pure sine waves,
each at -38.5 dBm0, 300-3400 each at -38.5 dBm0, 300-3400
Hz. Hz.
2. Any 1 or 2 pure sine waves, 2. Any 1 or 2 pure sine waves,
each at -42 dBm, 300-3400 each at -42 dBm 300-3400
Hz. Hz.
3. Forward detector: Any 2 3. Forward detector: Any 2
pure sine waves, each at -5 pure sine waves, each at -5
dBm, 330-1150 Hz or 2130- dBm, 330-1150 Hz or 2130-
3400 Hz. 3400 Hz.
4. Backward detector: Any 2 4. Backward detector: Any 2
pure sine waves, each at -5 pure sine waves, each at -5
dBm, 1300-3400 Hz. dBm, 1300-3400 Hz.
------------------------------------------------------------------------------------------------------------------------------
Transmitted signal interference Must not falsely detect due to Must not falsely detect due to
generation of outgoing MF digits. generation of outgoing MF digits.
------------------------------------------------------------------------------------------------------------------------------
-32-
55
EVP-SRM (DSP) Software Design Specification 33
------------------------------------------------------------------------
Table 4-14: MFD R2 Detection Performance Requirement
4.7 MFcR2 compelled signalling
In order to pass the CCITT requirements for compelled signal timing, the
following additional requirements are made ON the MFD detector:
1. The MFD detector shall detect the leading edge of an R2 digit after
processing no more than 24 ms of the digit.
2. The MFD detector shall detect the trailing edge of an R2 digit after
processing no more than 16 ms of the silence following the digit.
5. CONFIGURATION PARAMETERS
The DSP uses various configuration parameters controlled by the Core Processor.
These configuration parameters specify frequencies, powers, durations, and
thresholds used for detection and generation of tones and voice data. This
section defines the various parameters and their format in DSP memory.
5.1 Global Parameters
Global Parameters are those that must be defined for the DSP as a whole. Table
5-1 lists the global parameters and their descriptions.
--------------------------------------------------------------------------------
NAME Description
--------------------------------------------------------------------------------
p0DBINA digital rms of a 0 dBm sine wave incident at A/D
for A-Law PCM
--------------------------------------------------------------------------------
p0DBOUTA digital rms of a 0 dBm sine wave incident at D/A
for A-Law PCM
--------------------------------------------------------------------------------
p0DBINM digital rms of a 0 dBm sine wave incident at A/D
for [mu]-Law PCM
--------------------------------------------------------------------------------
p0DBOUTM digital rms of a 0 dBm sine wave incident at D/A
for [mu]-Law PCM
--------------------------------------------------------------------------------
[tau]HANGOVER Maximum inactivity before speech flag resets
--------------------------------------------------------------------------------
[tau]SUSTAIN Minimum duration of speech before sustained
--------------------------------------------------------------------------------
Table 5-1: global parameters
-33-
56
EVP-SRM (DSP) Software Design Specification 34
------------------------------------------------------------------------
Legal parameter values:
1. p0DBINA is a 14-bit code that represents the 0 dBm power level of a 1 kHz
sine wave at the network interface for A-Law channels.
2. p0DBOUTA is a 14-bit code that represents DSP power level required to
generate a 0 dBm signal at the network interface for A-Law channels.
3. p0DBINM is a 14-bit code that represents the o dBm power level of a 1 kHz
sine wave at the network interface for [mu]-Law channels.
4. p0DBOUTM is a 14-bit code that represents DSP power level required to
generate a 0 dBm signal at the network interface for [mu]-Law channels.
5. tHANGOVER is a parameter that sets the maximum time, [tau]HANG-OVER, that
the speech sustained flag may be asserted while voice activity is absent.
The maximum time is given by the following formula: [tau]HANGOVER*8msec.
6. tSUSTAIN is a parameter that sets the minimum duration, [tau]SUSTAIN,
that a voice activity must be present before it is considered sustained
speech. The duration is given by the following formula: tSUSTAIN=
[tau]SUSTAIN*8msec.
5.2 DTMF Detection Parameters
DTMF detection is configured on a per-channel basis using a set of DTMF
Collection Specifications. Each Collection Specification contains all
configurable parameters for DTMF detection. There are 35 default Collection
Specifications, and are referenced by ID, numbered 1 to 35 (Collection ID #0 is
reserved to mean "use the previous default collection specification"). There
also is one 'working' Collection Specification per timeslot.
The DSP maintains the following context for each channel:
o ID of it's current default DTMF Collection Specification
o It's working' DTMF Collection Specification, which is the one used for
detection
5.2.1 DTMF Collection Specifications
DTMF Collection Specifications contain the following fields:
-34-
57
EVP-SRM (DSP) Software Design Specification 35
------------------------------------------------------------------------
1. k: The number of digits to collect before initial report: 1 to 16
2. N: The total number of digits to collect: 1 to 40
3. MIN_POWER: The minimum allowable power per frequency (a value of 0 = - 25
dBm; a value of 21 = -45 dBm)
4. MIN_MAKE: The minimum duration of a valid DTMF digit, in ms (0 to 255).
5. MIN_BREAK: The minimum interdigital silence duration, in ms (9 to 255).
6. IDTO: Inter-digit Timeout. A timeout will be reported if the silence
between two DTMF digits exceeds IDTO seconds. Range is 0 seconds
(disables) to 255 seconds.
7. PSC: Permanent Signal Condition. A timeout will be reported if the
duration of a DTMF digit exceeds PSC. Range is 0 seconds (disables) to
255 seconds.
8. FDTO: First Digit Timeout. A timeout will be reported if the time to
collect the first digit exceeds FDTO. Range is 0 seconds (disables) to
255 seconds.
9. TDTO: Total Digit Timeout. A timeout will be reported if the time to
collect all digits exceeds TDTO. Range is 0 seconds (disables) to 255
seconds.
10. ED: End Digit. Detection of this DTMF digit ends DTMF collection (if the
ED bit in the Control Word is set).
11. CD: Cancel Digit. Detection of this DTMF digit causes the DSP to delete
all collected digits and restart DTMF detection (if the CD bit in the
Control Word is set).
12. POS_TWIST: Maximum allowable ratio of high tone power to low tone power.
Choices are 0 (2 dB), 1(4dB), 2(6 dB), 3 (8 dB), 4 (10 dB), and 5 (12 dB)
13 NEG-TWIST: Maximum allowable ratio of low tone power to high tone power.
Choices are 0 (2 dB), 1 (4 dB), 2 (6 dB), 3 (8 dB), 4 (10 dB), and 5 (12
dB)
-35-
58
EVP-SRM (DSP) Software Design Specification 36
------------------------------------------------------------------------
14. CW: Control Word - a 8-bit mask with the following format:
----------------------------------------------------------
7 6 5 4 3 2 1 0
----------------------------------------------------------
DE P UE UC RD IN FT
----------------------------------------------------------
Table 5-2: Control Word Bit Definitions
o bit 1,0: FT = frequency tolerance:
00 = 2.0% must accept / 3.0% must reject
01 = 2.5% must accept / 3.5% must reject
10 = 3.0% must accept / 4.0% must reject
11 = 3.5% must accept / 4.5% must reject
o bit 2:IN = initial notification. If this bit is set, the DSP will make
the initial report when k digits are collected.
o bit 3:RD = report durations. If this bit is set, the DSP will report on
and off durations for each digit detected. Durations will have a
granularity of 8 ms.
o bit 4:UC = use cancel code. If this bit is set, the DSP will reset DTMF
collection when the cancel code is detected.
o bit 5:UE = use end code. If this bit is set, the DSP will end DTMF
collection when the end code is detected.
o Bit 6:P = PCM type: This is how the Core Processor configures the PCM
type for this channel.
1 = ALaw
0 = [mu]Law
o bit 7: DE = detection edge:
1 = leading edge detection
0 = trailing edge detection
The size in bits and the range of each field in the Collection Specifications is
shown in Table 5-3. Table 5-4 shows the format of each channel's DTMF parameter
context. The 'Default CS ID' field contains the ID for one channel's default
collection spec. Words 2-7 of Table 5-4 contain the channel's working Collection
Specification, and are the exact format of the default Collection Specifications
(which are each 6 words long).
-36-
59
EVP-SRM (DSP) Software Design Specification 37
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Field Units unsigned Size (bits) Range
--------------------------------------------------------------------------------
k number of digits unsigned 4 1 to 16
N number of digits unsigned 6 1 to 40
MIN_POWER (-25 -#) dBm unsigned 5 0 to 20
MIN_MAKE ms unsigned 8 0 to 255
MIN_BREAK ms unsigned 8 0 to 255
IDTO s unsigned 8 0 to 255
PSC s unsigned 8 0 to 255
FDTO s unsigned 8 0 to 255
TDTO s unsigned 8 0 to 255
ED DTMF digit unsigned 4 0 to 15
CD DTMF digit unsigned 4 0 to 15
POS TWIST 2*(# + 2) dB unsigned 4 0 to 4
NEG_TWIST 2*(# + 2)dB unsigned 4 0 to 4
CW 8-bit mask bit mask 8 0 to 255
--------------------------------------------------------------------------------
87 bits
6 words
---------------------------
Table 5-3:DTMF Collection Specification Parameter Units
===========================================================================================================
High Byte Low Byte
===========================================================================================================
Word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
========= -----------------------------------------------------------------------------------------------------------
1 | | Default CS ID
-----------------------------------------------------------------------------------------------------------
2 | k | | N
-----------------------------------------------------------------------------------------------------------
3 | MIN_POWER | MIN_MAKE
-----------------------------------------------------------------------------------------------------------
4 MIN_BREAK | CW
-----------------------------------------------------------------------------------------------------------
5 IDTO | PSC
-----------------------------------------------------------------------------------------------------------
6 FDTO | TDTO
-----------------------------------------------------------------------------------------------------------
7 POS_TWIST | NEG_TWIST | ED | CD
----------------------------------------------------------------------------------------------------------------------
Table 5-4: Internal DTMF parameter channel context
5.2.2 DTMF Detection Parameter Memory Usage
For N channels of DTMF, the total memory usage for DTMF channel context and
Collection Specifications is N*7+35*6+ = 210+7N 16-bit words. For all 63
channels, this is 651 words. For 30 channels, this is 420 words.
-37-
60
EVP-SRM (DSP) Software Design Specification 38
------------------------------------------------------------------------
5.3 MF Detection Parameters
MF detection is configured on a per-channel basis using a set of MF Collection
Specifications. These Collection Specifications each contain all configurable
parameters for MF detection. There are 35 default Collection Specifications, and
are referenced by ID, numbered 1 to 35. there also is one 'working' Collection
Specification per timeslot.
The DSP maintains the following context for each channel:
o ID of it's current default MF Collection Specification
o It's 'working' MF Collection Specification, which is the one used for
detection
5.3.1 MF Collection Specifications
MF Collection Specifications contain the following fields:
1. TD: (T)ype of MF tones to (D)etect (a 2-bit field):
00b = not defined
01b = R1
10b = R2 Forwards
11b = R2 Backwards
2. k: The number of digits to collect before initial report: 1 to 16
3. N: The total number of digits to collect: 1 to 40
4. MIN_POWER: The minimum allowable power per frequency (a value of 0 = - 25
dBm; a value of 21 = -45 dBm)
5. MIN_MAKE: The minimum duration of a valid MF digit, in ms (0 to 255).
6. MIN_BREAK: The minimum interdigital silence duration, in ms (0 to 255).
7. IDTO: Inter-digit Timeout. A timeout will be reported if the silence
between two MF digits exceeds IDTO seconds. Range is 0 seconds (disables)
to 255 seconds.
8. PSC: Permanent Signal Condition. A timeout will be reported if the
duration of an MF digit exceeds PSC. Range is 0 seconds (disables) to 255
seconds.
-38-
61
EVP-SRM (DSP) Software Design Specification 39
------------------------------------------------------------------------
9. FDTO: First Digit Timeout. A timeout will be reported if the time to
collect the first digit exceeds FDTO. Range is 0 seconds (disables) to
255 seconds.
10. TDTO: Total Digit Timeout. A timeout will be reported if the time to
collect all digits exceeds TDTO. Range is 0 seconds (disables) to 255
seconds.
11. ED: End Digit. Detection of this MF digit ends MF collection.
12. CD: Cancel Digit. Detection of this MF digit causes the DSP to delete all
collected digits and restart MF detection.
13. CW: Control Word - an 8-bit mask with the following format:
----------------------------------------------------
7 6 5 4 3 2 1 0
----------------------------------------------------
DE P UE UC RD IN FT
----------------------------------------------------
Table 5-5: Control Word Bit Definitions
o bit 1,0: FT = must accept frequency tolerance:
00 = +/-(1.5%+10) Hz for R1; +/-10 Hz for R2
01 = +/-(1.5%+15) Hz for R1; +/-15 Hz for R2
10 = +/-(1.5%+20) Hz for R1; +/-20 Hz for R2
11 = not defined
o bit 2: IN = initial notification. If this bit is set, the DSP will
make the initial report when k digits are detected.
o bit 3: RD = report durations. If this bit is set, the DSP will
report on and off durations for each digit detected. Durations
will have a granularity of 8 ms.
o bit 4: UC = use cancel code. If this bit is set, the DSP will end
MF collection when the end code is detected.
o bit 5: UE = use end code. If this bit is set, the DSP will end MF
collection when the end code is detected.
o Bit 6: P = PCM type:
1 = Alaw
0 = [mu]Law
-39-
62
EVP-SRM (DSP) Software Design Specification 40
------------------------------------------------------------------------
o bit 7: DE = detection edge:
1 = leading edge detection
0 = trailing edge detection
14. TT, ISTT, IS: These fields are ignored in this state. They are included
to allow the same Collection Specification format be used for MfcR2
signalling.
The size in bits and the range of each field in the Collection Specifications is
shown in Table 5-6. Table 5-7 shows the format of each channel's MF parameter
context. The 'Default CS ID' field contains the ID for this channel's default
collection spec. Words 2-7 of Table 5-7 contain this channel's working
Collection Specification, and are the exact format of the default Collection
Specifications (which are each 6 words long).
--------------------------------------------------------------------------------
Field Units unsigned Size (bits) Range
--------------------------------------------------------------------------------
TT type of MF unsigned 2 0 to 3
TD type of MF unsigned 2 0 to 3
k number of digits unsigned 4 1 to 16
N number of digits unsigned 6 1 to 40
MIN_POWER (-25 - #) dBm unsigned 5 0 to 20
MIN_MAKE ms unsigned 8 0 to 255
MIN_BREAK ms unsigned 8 0 to 255
IDTO s unsigned 8 0 to 255
PSC s unsigned 8 0 to 255
FDTO s unsigned 8 0 to 255
TDTO s unsigned 8 0 to 255
ISTT state transition fa unsigned 4 0 to 10
IS state unsigned 4 0 to 5
ED DTMF digit unsigned 4 0 to 15
CD DTMF digit unsigned 4 0 to 15
CW 8-bit mask bit mask 8 0 to 255
--------------------------------------------------------------------------------
91 bits
6 words
---------------------
Table 5-6: MF Collection Specification Parameter Xxxxx
-00-
00
XXX-XXX (XXX) Software Design Specification 41
------------------------------------------------------------------------
===========================================================================================================
High Byte Low Byte
===========================================================================================================
Word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
========= -----------------------------------------------------------------------------------------------------------
1 | | Default CS ID
-----------------------------------------------------------------------------------------------------------
2 TT | TD | k | | N
-----------------------------------------------------------------------------------------------------------
3 | MIN_POWER | MIN_MAKE
-----------------------------------------------------------------------------------------------------------
4 MIN_BREAK | CW
-----------------------------------------------------------------------------------------------------------
5 IDTO | PSC
-----------------------------------------------------------------------------------------------------------
6 FDTO | TDTO
-----------------------------------------------------------------------------------------------------------
7 ISTT | IS | ED | CD
----------------------------------------------------------------------------------------------------------------------
Table 5-7: Internal MF parameter channel context
5.3.2 MF Detection Parameter Memory Usage
For N channels of MF Detection, the total memory usage for MF channel context
and Collection Specifications is N*7+35*6 = 210+7N 16-bit words. For all 63
channels, this is 651 words. For 30 channels, this is 420 words.
5.4 Call Progress Detection Parameters
Call progress detection is configured using CP Tone Groups and CP Collection
Specifications. CP Tone Groupos reference CP Tone Specifications, which each
describe a tone to detect. CP Collection Specifications contain other detection
parameters, such as timeouts and PCM type.
5.4.1 CP Tone Groups
There are 35 CP Tone Groups, which allow for 35 separate groupings of tones to
be configured at any one time. The CP Tone Groups are referenced by ID, which
number from 1 to 35.
Each CP Tone Group is thirty 16-bit words long, with each word containing the ID
of a CP Tone Specification. This allows for a maximum of thirty CP Tone
Specification Ids. If a particular CP Tone Group has less than thirty CP Tone
Specifications, then the CP Tone Specification IDs occupy the first part of the
CP Tone Group, and the remaining words are '0.'
-41-
64
EVP-SRM (DSP) Software Design Specification 42
------------------------------------------------------------------------
Although the CP Tone Group only needs 9 bits to store each CP Tone Specification
ID, 16 bits are reserved for each CP Tone Specification ISD. This is done so the
DSP can replace these fields with 16-bit addresses.
An example CP Tone Group, as it would exist in the DSP's memory, follows. In
this example, 26 CP Tone Specifications are used:
-42-
65
EVP-SRM (DSP) Software Design Specification 43
------------------------------------------------------------------------
===========================================================================================================
High Byte Low Byte
===========================================================================================================
Word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
========= -----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
1 CP Tone Specification ID #1
----------------------------------------------------------------------------------------------------------
2 CP Tone Specification ID #2
----------------------------------------------------------------------------------------------------------
3 CP Tone Specification ID #3
----------------------------------------------------------------------------------------------------------
4 CP Tone Specification ID #4
----------------------------------------------------------------------------------------------------------
5 CP Tone Specification ID #5
----------------------------------------------------------------------------------------------------------
6 CP Tone Specification ID #6
----------------------------------------------------------------------------------------------------------
7 CP Tone Specification ID #7
----------------------------------------------------------------------------------------------------------
8 CP Tone Specification ID #8
----------------------------------------------------------------------------------------------------------
9 CP Tone Specification ID #9
----------------------------------------------------------------------------------------------------------
10 CP Tone Specification ID #10
----------------------------------------------------------------------------------------------------------
11 CP Tone Specification ID #11
----------------------------------------------------------------------------------------------------------
12 CP Tone Specification ID #12
----------------------------------------------------------------------------------------------------------
13 CP Tone Specification ID #13
----------------------------------------------------------------------------------------------------------
14 CP Tone Specification ID #14
----------------------------------------------------------------------------------------------------------
15 CP Tone Specification ID #15
----------------------------------------------------------------------------------------------------------
16 CP Tone Specification ID #16
----------------------------------------------------------------------------------------------------------
17 CP Tone Specification ID #17
----------------------------------------------------------------------------------------------------------
18 CP Tone Specification ID #18
----------------------------------------------------------------------------------------------------------
19 CP Tone Specification ID #19
----------------------------------------------------------------------------------------------------------
20 CP Tone Specification ID #20
----------------------------------------------------------------------------------------------------------
21 CP Tone Specification ID #21
----------------------------------------------------------------------------------------------------------
22 CP Tone Specification ID #22
----------------------------------------------------------------------------------------------------------
23 CP Tone Specification ID #23
----------------------------------------------------------------------------------------------------------
24 CP Tone Specification ID #24
----------------------------------------------------------------------------------------------------------
25 CP Tone Specification ID #25
----------------------------------------------------------------------------------------------------------
26 CP Tone Specification ID #26
----------------------------------------------------------------------------------------------------------
27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
----------------------------------------------------------------------------------------------------------
28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
----------------------------------------------------------------------------------------------------------
29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
----------------------------------------------------------------------------------------------------------
30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
---------------------------------------------------------------------------------------------------------------------
Table 5-8: Example CP Tone Group
-43-
66
EVP-SRM (DSP) Software Design Specification 44
------------------------------------------------------------------------
Although there is wasted space associated with a CP Tone Group with less than 30
CP Tone Specifications, there is an advantage to fixed-length CP Tone Groups: it
is much easier to address, delete, add, and replace CP Tone Groups during run
time when they are a fixed length.
5.4.2 CP Tone Specifications
There are two types of CP Tone Specifications: Normal and SIT. Normal CP Tone
Specifications are 21 words long. Although SIT Tone Specifications are only 18
words long, the DSP needs 28 words of space after translating to values used by
the Universal Tone Detector.
The DSP can handle up to 10 unique Normal CP Tone Specifications per CP Tone
Group (10*35=350 Normal CP Tone Specifications), and up to one unique SIT CP
Tone Specification per CP Tone Group (1*35=SIT CP Tone Specifications).
-44-
67
EVP-SRM (DSP) Software Design Specification 45
------------------------------------------------------------------------
CP Tone Specifications are referenced by ID, numbered 1 to 385. The first 350
are Normal CP Tone Specifications, and the last 35 (IDs #351 - #385) are SIT CP
Tone Specifications.
Table 5-9 and Table 5-10 show the format and definitions for all fields in
Normal CP Tone Specifications and SIT CP Tone Specifications. See Section 4.5
for more information on the format of tones detected by UTD.
--------------------------------------------------------------------------------
Word Value Units Range
--------------------------------------------------------------------------------
1 Tone Category Category Number 1 to 9
2 Tone Type Tone Type 0 to 2
3 Return Value Return Code 0 to 32767
4 Required Cadences Cadence Number 0 to 32767
5 Frequency 1 Hz 300 to 3300
6 Frequency 1 Deviation Hz 0 to 1500
7 Frequency 2 Hz 0 to 1500
8 Frequency 2 Deviation Hz 300 to 3300
9 Min Make 1 ms 100 to 32767
10 Max Make 1 ms 100 to 32767
11 Min Break 1 ms 0, 100 to 32767
12 Max Break 1 ms 0, 100 to 32767
13 Min Make 2 ms 0, 100 to 32767
14 Max Make 2 ms 0, 100 to 32767
15 Min Break 2 ms 0, 100 to 32767
16 Max Break 2 ms 0, 100 to 32767
17 Min Make 3 ms 0, 100 to 32767
18 Max Make 3 ms 0, 100 to 32767
19 Min Break 3 ms 0, 100 to 32767
20 Max Break 3 ms 0, 100 to 32767
21 Min Power dBm 0 to -45
--------------------------------------------------------------------------------
Table 5-9: Normal CP Tone Specification format
-45-
68
EVP-SRM (DSP) Software Design Specification 46
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Word Value Units Range
--------------------------------------------------------------------------------
1 Tone Category Category Number 6
2 SIT Type SIT Type 1, 2
3 Return Value Return Code 0 to 32767
4 Frequency 1 Cadence Number 300 to 3300
5 Bandwidth 1 Hz 0 to 1500
6 Frequency 2 Hz 300 to 3300
7 Bandwidth 2 Hz 0 to 1500
8 Frequency 3 Hz 300 to 3300
9 Bandwidth 3 Hz 0 to 1500
10 Frequency 4 Hz 300 to 3300
11 Bandwidth 4 Hz 0 to 1500
12 Frequency 5 Hz 300 to 3300
13 Bandwidth 5 Hz 0 to 1500
14 Short Min ms 0, 100 to 32767
15 Short Max ms 0, 100 to 32767
16 Long Min ms 0, 100 to 32767
17 Long Max ms 0, 100 to 32767
18 Min Power dBm 0 to -45
19 Reserved -- --
20 Reserved -- --
21 Reserved -- --
22 Reserved -- --
23 Reserved -- --
24 Reserved -- --
25 Reserved -- --
26 Reserved -- --
27 Reserved -- --
28 Reserved -- --
--------------------------------------------------------------------------------
Table 5-10: SIT CP Tone Specification format
-46-
69
EVP-SRM (DSP) Software Design Specification 47
------------------------------------------------------------------------
5.4.3 CP Collection Specifications
Each CP Collection Specification contains the following parameters:
1. ID: This is a unique identifier for a default collection specification,
numbered 1 to 35.
2. P: The type of PCM to use on this channel:
1 = ALaw
0 = [mu]Law
3. PSC: Permanent Signal Condition" 0 (disables) to 127 seconds (7 bits
unsigned)
4. TC: Tone Cessation Reporting:
1 = Report when a tone is no longer present (falling edge reported)
0 = Don't report when a tone is no longer present (no falling edge
reported)
5. FDTO: First Digit Timeout 0 (disables) to 127 seconds (7 bits unsigned)
The formal of the CP Detection Collection Specification is shown in Table 5-11.
note that the ID is not contained in the formal. For default collection
specifications, the ID is simply the index of this collection specification in
the block of memory that contains all default collection specifications.
===========================================================================================================
High Byte Low Byte
===========================================================================================================
Word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
========= -----------------------------------------------------------------------------------------------------------
1 P | PSC | TC | FDTO
----------------------------------------------------------------------------------------------------------------------
Table 5-11: CP Detection Collection Specification format
5.4.4 CP Detection Channel Context
The DSP maintains the following context for each channel:
o Current working CP Collection Specification, which is the one used for
detection
o ID of its current default CP Collection Specification
o ID of the CP Tone Group to use for this channel
-47-
70
EVP-SRM (DSP) Software Design Specification 48
------------------------------------------------------------------------
Table 5-12 shows the format of each channel's CP Detect parameter context.
===========================================================================================================
High Byte Low Byte
===========================================================================================================
Word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
========= -----------------------------------------------------------------------------------------------------------
1 P | PSC | TC | FDTO
----------------------------------------------------------------------------------------------------------------------
2 Default CP Collection Spec ID | CP Tone Group ID
----------------------------------------------------------------------------------------------------------------------
Table 5-12: CP Detection Channel Context
5.4.5 CP Detection Parameter Memory Usage
For 30 channels of Call Progress Detection, the total memory usage for the CP
Detection Parameters in 9475 16-bit words. Table 5-13 shows a breakdown of this
memory usage.
------------------------------------------------------------------------------------------------
Section Number of entries Size per entry Memory Usage
------------------------------------------------------------------------------------------------
Channel context 30 2 60
Default Collection Specifications 35 1 35
CP Tone Groups 35 30 1050
Normal CP Tone Specifications 350 21 7350
SIT CP Tone Specifications 35 28 980
------------------------------------------------------------------------------------------------
Total Memory Usage: 9475
Tabel 5-13: CP Detection Parameter Memory Usage
5.5 Tone Generation Parameters
Tone Generation uses four types of structures to convey what tone (or tones) is
(are) to be generated: Simple Tone Specifications, Special Tone Specifications,
Special Case Templates, and User-Defined Tone Groups:
o SIMPLE TONE SPECIFICATIONS: These are used to generate tones that are
single, dual, or amplitude modulated, with one to three cadences, and
unchanging frequency and power.
o SPECIAL CASE TONE TIMPLATES: These are used to generate tones with up to
four frequencies, or with time varying frequency or power levels.
o SPECIAL TONE SPECIFICATIONS: These are grouping of Special Case Tone
Templates that are to be generated in order. This allows for generation
of complex tones (e.g. 'bong' or SIT tones).
-48-
71
EVP-SRM (DSP) Software Design Specification 49
------------------------------------------------------------------------
o USER-DEFINED TONE GROUPS: These are a collection of Simple Tone
Specifications and Special Tone Specifications, grouped together to
define a related set of tones (e.g. a group of tones that defines a
country's tone plan).
Figure 5-8 shows this hierarchy.
------------------------
Simple Tone
|--------- Specification (1 of 512)
------------------- | ------------------------
User-Defined Tone | Simple Tonen
Group (1 of 64) ----------| Specification
------------------- | ------------------------
| Simple Tonegen
| specification
| ------------------------
(up to 64)
------------------- | ------------------------
User-Defined Tone | Special Tone
Group |--------- Specification (1 of 64) ----|
------------------- | ------------------------ |
| Special Tone |
| Specification |
| ------------------------ |
| Special Tone |
|---------- Specification |
| ------------------------ |
| Special Tone |
|---------- Specification |
------------------------ (up to 5)
|
------------------------ |
Special Case Tone |
Template (1 of 64) ----|
------------------------ |
Special Case Tone |
Template ----|
------------------------
Special Case Tone
Template
------------------------
Figure 5-8: Tone Generation Parameter hierarchy
The following sections show the format and definitions of the fields contained
in each level of tone specification.
5.5.1 Simple Tone Specifications
There are 512 Simple Tone Specifications, which allows for an average of 14 to
15 unique simple tones per country (assuming 00 xxxxxxxxx).
-00-
00
XXX-XXX (XXX) Software Design Specification 50
------------------------------------------------------------------------
Each Simple Tone Specification has the following characteristics:
o A Simple Tone Specification is referenced by ID, which corresponds to the
order in which it occurs in memory (ID = 1 to 512).
o To allow for easy addition and deletion of Simple Tone Specifications,
each Simple Tone Specification will be a fixed length of 10 words (16
bits/word).
o Simple Tone Specifications are used to generated single, dual, and
amplitude modulated tones, with unchanging frequency and power levels,
with one to three cadence pairs.
Table 5-14 shows the format for Simple Tone Specifications.
-----------------------------------------------------------------------------------------------------------
High Byte Low Byte
-----------------------------------------------------------------------------------------------------------
Word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
========= ===========================================================================================================
1 Repeat Count (0 = repeat indefinitely)
----------------------------------------------------------------------------------------------------------------------
2 T | Frequency 1 (HZ)
----------------------------------------------------------------------------------------------------------------------
3 Frequency 2 (Hz)
----------------------------------------------------------------------------------------------------------------------
4 Power 1 | Power 2, or modulation %
----------------------------------------------------------------------------------------------------------------------
5 make 1 (ms)
----------------------------------------------------------------------------------------------------------------------
6 break 1 (0 for continuous)
----------------------------------------------------------------------------------------------------------------------
7 make 2 (0 for single cadenced tone)
----------------------------------------------------------------------------------------------------------------------
8 break 2
----------------------------------------------------------------------------------------------------------------------
9 make 3 (0 for double cadenced tone)
----------------------------------------------------------------------------------------------------------------------
10 break 3
----------------------------------------------------------------------------------------------------------------------
Table 5-14: Simple Tone Specification Format
o T is the Type of tone:
T = 0: single/dual tone. Low byte in word #4 contains the
power of the second frequency.
T = 1: amplitude modulated tone. Low byte in word #4 contains the
modulation percentage (in %). Frequency 1 is the carrier frequency,
and Frequency 2 is the modulation frequency.
o Units for Power 1 and Power 2 are 0.5 dBm. Allowable values are +6 to -
100, which allows for +3 to -50 dBm.
-50-
73
EVP-SRM (DSP) Software Design Specification 51
------------------------------------------------------------------------
5.5.1.1 Special Tone Specifications
are handled using Special Tone Specifications.
There are 64 Special Tone Specifications, which allows for an average of 1 to 2
unique special tones per country (assuming 35 countries).
Each Special Tone Specification has the following characteristics:
o A Special Tone Specification is referenced by ID, which corresponds to
the order in which it occurs in memory. (ID = 513 to 576)
o To allow for easy addition and deletion of Special Tone Specifications,
each Special Tone Specification will be a fixed length of 5 words (16
bits/word).
o Special Tone Specifications are used to generated tones that have
changing frequencies, cadences or power levels, and tones with more than
two frequencies.
Table 5-15 shows the format for Special Tone Specifications.
-----------------------------------------------------------------------------------------------------------
High Byte Low Byte
-----------------------------------------------------------------------------------------------------------
Word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
========= ===========================================================================================================
1 R | Special Case Template ID #1
----------------------------------------------------------------------------------------------------------------------
2 Special Case Template ID #2 (0xFFFF if none)
----------------------------------------------------------------------------------------------------------------------
3 Special Case Template ID #3 (0xFFFF if none)
----------------------------------------------------------------------------------------------------------------------
4 Special Case Template ID #4 (0xFFFF if none)
----------------------------------------------------------------------------------------------------------------------
5 Special Case Template ID #5 (0xFFFF if none)
----------------------------------------------------------------------------------------------------------------------
Table 5-15: Special Tone Specification Format
o R is the repeat flag:
R = 0: generate each of the Special Case Tone Templates in order,
then silence.
R = 1: generate each of the Special Case Tone Templates in order,
then repeat.
-51-
74
EVP-SRM (DSP) Software Design Specification 52
------------------------------------------------------------------------
5.5.2 Special Case Tone Templates
Special Case Tone Templates are used when generating special tones using Special
Tone Specifications, defined in Section 5.5.1.1 above.
Special Case Tone Templates define tones with one to four frequencies, at
different power levels. The first one or two frequencies can vary in frequency,
and the tone power can be exponentially decayed. The tone also has a cadence and
a repeat count defined.
Each Special Case Tone Template is ten 16-bit words long, and has the format
shown in Table 5-16.
-----------------------------------------------------------------------------------------------------------
High Byte Low Byte
-----------------------------------------------------------------------------------------------------------
Word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
========= ===========================================================================================================
1 T1 | Frequency 2 (Hz)
-----------------------------------------------------------------------------------------------------------
2 Frequency 2 (Hz)
-----------------------------------------------------------------------------------------------------------
3 T2 | Frequency 3 (Hz) () if not tripe/quadruple tone)
-----------------------------------------------------------------------------------------------------------
4 Frequency 4 (Hz)
-----------------------------------------------------------------------------------------------------------
5 Power 1 | Power 2, or modulation %
-----------------------------------------------------------------------------------------------------------
6 Power 3 | Power 4, or modulation %
-----------------------------------------------------------------------------------------------------------
7 delta frequency 1(Hz/s) | delta frequency 2 (Hz/s)
-----------------------------------------------------------------------------------------------------------
8 repeat count (0 = infinite)
-----------------------------------------------------------------------------------------------------------
9 make time (ms) () for continuous)
-----------------------------------------------------------------------------------------------------------
10 break time (ms)
----------------------------------------------------------------------------------------------------------------------
Table 5-16: Special Case Tone Template Format
o Tl and T2 are the types for the first and second frequency pairs:
T1 = 0: single/dual tone. Low byte in word #5 contains the power of
Frequency 2.
T1 = 1: amplitude modulated tone. Low byte in word #4 contains the
modulation percentage (in %). Frequency 1 is the carrier frequency,
and Frequency 2 is the modulation frequency.
T2 = 0: single/dual tone. Low byte in word #6 contains the power of
Frequency 4.
-52-
75
EVP-SRM (DSP) Software Design Specification 53
------------------------------------------------------------------------
T2 = 1: amplitude modulated tone. Low byte in word #6 contains the
modulation percentage (in %). Frequency 3 is the carrier frequency,
and Frequency 4 is the modulation frequency.
o Units for Power 1, 2, 3, and 4 are 0.5 dBm. Allowable values ARE +6 to
-100, which allows for +3 to -50 dBm.
o Decay constant affects all tones. This is an exponential decay, which
uses the following formula:
A(t) = Ao * e(-8t/[tau]), where:
A(t) = tone amplitude at time t
Ao = initial tone amplitude
t = time in ms
[tau]= decay constant in 8 ms units
o Delta frequency 1 and delta frequency 2 affect Frequency 1 and Frequency
2, respectively. This changes the generated frequency every 8 ms by the
rate specified in Hz/s. Continuous phase is maintained.
There is a unique ID associated with each Special Case Tone Template. There can
be a maximum of 64 Special Case Templates defined at any given time, and they
are referenced by ID, numbered 577-641.
5.5.3 User-defined Tone Groups
Tone specifications and can be grouped together to form User-defined Tone
Groups. Each Tone Group contains the IDs of up to 64 Simple and/or Special tone
specifications. This allows tone generation commands to outpulse tones, using 6
bit numbers (which correspond to a tone specification's location within a tone
group).
There are up to 64 Tone Groups, and each is referenced by Tone Group ID (0 to
63).
-53-
76
EVP-SRM (DSP) Software Design Specification 54
------------------------------------------------------------------------
The format of User-defined Tone Groups is as follows:
-----------------------------------------------------------------------------------------------------------
High Byte Low Byte
-----------------------------------------------------------------------------------------------------------
Word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
========= ===========================================================================================================
Tone 0 0 0 0 0 0 0 Tone Specification ID #1
-------------------------------------------------------------------
Tone 1 0 0 0 0 0 0 Tone Specification ID #2 ( or 0)
-------------------------------------------------------------------
Tone 2 0 0 0 0 0 0 Tone Specification ID #3 ( or 0)
-------------------------------------------------------------------
0 0 0 0 0 0 Tone Specification ID #4 ( or 0)
-------------------------------------------------------------------
0 0 0 0 0 0
-------------------------------------------------------------------
Tone 63 0 0 0 0 0 0 Tone Specification ID #64 ( or 0)
----------------------------------------------------------------------------------------------------------------------
Table 5-17: User-defined Tone Group Format
5.5.3.1 User-defined Tone Groups for DTMF. MF generation
Four User-defined Tone Groups are reserved for DTMF, MFR1, R2 Forwards and R2
Backwards tone generation. These tone groups have only 16 Tone Specification
IDs, and therefore the individual tone specifications can be referenced using 4
bit numbers (which correspond to a tone specification's index within a tone
group).
These special user-defined Tone Groups have the following IDs:
-----------------------------------------------------------------
Tonegen Group Tone Type User-Defined Tonegen Group ID
-----------------------------------------------------------------
DTMF 0
MFR1 1
MFR2 Forwards 2
MFR2 Backwards 3
-----------------------------------------------------------------
Table 5-18: IDs for reserved User-defined Tone Groups
5.5.4 Tone Generation Parameter Memory Usage
The total DSP memory usage for the Tone Generation Parameters is 10176 16-bit
words, and is organized as follows.
-54-
77
EVP-SRM (DSP) Software Design Specification 55
------------------------------------------------------------------------
--------------------------------------------------------------------------------
16-bit words per Number of Memory
Section ID Specification Specifications Usage
numbering
--------------------------------------------------------------------------------
Simple Tone 0 to 511 10 512 5120
Specifications
Special Case 512 to 575 10 64 640
Templates
Special Tone 576 to 640 5 64 320
Specifications
Tone Groups 0 to 63 64 64 4096
--------------------------------------------------------------------------------
Table 5-19: Tone Generation Parameter Memory Usage
5.6 MFcR2 Signalling Parameters
MFcR2 signalling is configured on a per-channel basis using several sets of
configuration parameters:
o MF Collection Specifications are used for detection parameters.
o User-defined Tone Groups are used for generation parameters.
o State Transition Tables contain all configurable information regarding
the appropriate Actions and State Transitions in response to any Event.
o Actions each contain a one or more Processes.
o Processes are a set of atomic functions that are required to perform the
MFR2 protocol.
The DSP maintains the following context for each channel:
o ID of its current default Collection Specification
o Its 'working' Collection Specification, which is the one used for
detection
-55-
78
EVP-SRM (DSP) Software Design Specification 56
------------------------------------------------------------------------
5.6.1 MF Collection specifications
The MF Collection Specifications defined in Section MF Collection Specifications
are also used for MFcR2 signalling. Three fields that were ignored in the MF
Detect state are now defined:
1. TT: (T)ype of MF tones to (T)ransmit (a 2-bit field). This specifies
which User-defined Tone Group to use for tone generation. See Section
User-defined Tone Groups for DTMF, MF generation for details:
00b = not used (DTMF)
01b = R1
lOb = R2 Forwards
11b = R2 Backwards
2. ISTT: Initial State Transition Table D. This specifies which state
transition table to use for MF forward compelled signalling (1 to 10; 0 =
unconfigured).
3. S: Initial State. This specifies the starting state within the state
transition table for MF Forward compelled signalling (1 to 5; 0 =
unconfigured).
Table 5-20 shows the format of each channel's MFcR2 parameter context. The
'Default CS ID' field contains the ID for this channel's default collection
spec. Words 2-7 contain this channel's working Collection Specification, and are
the exact format of the default Collection Specifications (which are each 6
words long).
-----------------------------------------------------------------------------------------------------------
High Byte Low Byte
-----------------------------------------------------------------------------------------------------------
Word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
========= ===========================================================================================================
1 | | Default CS ID
-----------------------------------------------------------------------------------------------------------
2 TT | TD | k | | N
-----------------------------------------------------------------------------------------------------------
3 MIN_POWER | MIN_MAKE
-----------------------------------------------------------------------------------------------------------
4 MIN_BREAK | CW
-----------------------------------------------------------------------------------------------------------
5 IDTO | PSC
-----------------------------------------------------------------------------------------------------------
6 FDTO | TDTO
-----------------------------------------------------------------------------------------------------------
7 ISTT | IS | ED | CD
----------------------------------------------------------------------------------------------------------------------
Table 5-20: Internal MRcR2 parameter channel context
-56-
79
EVP-SRM (DSP) Software Design Specification 57
------------------------------------------------------------------------
5.6.2 MFcR2 State Transition Tables
MFcR2 Forward signalling is implemented using a programmable state machine. When
a channel begins forward signalling, it is given an initial State Transition
Table, and an initial State within that table. The State Transition Table
contains all States needed to implement a given country-specific MFcR2 protocol.
Each State defines the appropriate Actions and State Transitions to be executed
due to the detection of all Events.
--------------------------------------------------------------------------------
State Event
0 1 2 3 4 . . 00 00 00
--------------------------------------------------------------------------------
0 0X (X/XX) (X/XX) (X/XX) (X/XX) . . (A/ST) (A/ST) (A/ST)
--------------------------------------------------------------------------------
0 0X (X/XX) (X/XX) (X/XX) (X/XX) . . (X/XX) (X/XX) (X/XX)
--------------------------------------------------------------------------------
0 0X (X/XX) (X/XX) (X/XX) (X/XX) . . (X/XX) (X/XX) (X/XX)
--------------------------------------------------------------------------------
0 0X (X/XX) (X/XX) (X/XX) (X/XX) . . (X/XX) (X/XX) (X/XX)
--------------------------------------------------------------------------------
0 0X (X/XX) (X/XX) (X/XX) (X/XX) . . (X/XX) (X/XX) (X/XX)
--------------------------------------------------------------------------------
Table 5-21: MFcR2 State Transition Table Format
Each field in the state transition table is defined as follows:
1. State: There are 5 states in each State Transition Table, numbered 1 to
5.
2. Event 0: This column contains the initial actions (IA) to be performed
when transitioning to a particular state.
3. Events 1-15: These columns define the actions (A) and state transitions
(ST) to execute when the MF digits 1-15 are detected.
4. IA, A: These entries contain the ID of an Action to be performed
5. ST: This is a state to transition to, numbered 1 to 5. If ST = 0, there
is no state transition required upon detection of this Event in this
State. If ST is nozero, transition to that state and execute the Initial
Action for that state.
Each State Transition Table is referenced by State Transition Table ID, numbered
1 to 10.
-57-
80
EVP-SRM (DSP) Software Design Specification 58
------------------------------------------------------------------------
5.6.3 Actions
Actions consist of an Action ID, the number of Processes in this Action, and a
list of Processes that are executed in the order. Actions are referenced by
Action ID, numbered 1 to 200. Actions are all 50 bytes long. Processes are
variable length, depending on the process ID, in one byte increments.
The format of the Actions is as follows:
[Table depicting MFcR2 Action Format]
Table 5-22: MFcR2 Action Format
5.6.4 Processes
Processes are the atomic building block for MFcR2 signalling. The set of defined
processes allows for construction of any potential actions that need to be
performed for all variations of MFcR2 signalling.
The following table shows the process ID, name, length (process ID plus process
data), and format for each process.
--------------------------------------------------------------------------------------------------------------------
PID Process Name Length Format (each Description
(bytes) is 1 byte)
--------------------------------------------------------------------------------------------------------------------
1 I: Ignore 1 <1> Ignore this event
--------------------------------------------------------------------------------------------------------------------
2 E: Error 1 <2> Report severe error
condition
--------------------------------------------------------------------------------------------------------------------
3 STRSWC: Switch Current 2 <3> to the one given
--------------------------------------------------------------------------------------------------------------------
4 SETDIG: Set digit index 2 <4> string to the one given
--------------------------------------------------------------------------------------------------------------------
5 OFFDIG: Offset digit 2 <5> Adjust digit index in
index current string by the offset
given
--------------------------------------------------------------------------------------------------------------------
6 INCDIG: Add one to digit 1 <6>
index
--------------------------------------------------------------------------------------------------------------------
-58-
81
EVP-SRM (DSP) Software Design Specification 59
------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------
7 STTSWC: Switch state 4 <7> state in that table.
Optionally run the initial
action in that state.
--------------------------------------------------------------------------------------------------------------------
8 PATMTC: Xxxxxx Match N+2 <8>.. If true, execute the next
process. If false, execute
(N <=[TBD]) the process after that.
--------------------------------------------------------------------------------------------------------------------
9 SNDDIG: Send digit 2 <9> If = ,
then report collected digits
to controller
--------------------------------------------------------------------------------------------------------------------
10 SNDAT: Send digit at 2 <10> Send digit at digit index
given digit index in current
string
--------------------------------------------------------------------------------------------------------------------
11 REPORT: Report to 2 <11> Send the
controller report to the controller
--------------------------------------------------------------------------------------------------------------------
12 RESET: Reset protocol 12 <12> Reset the protocol. Restart
in the initial state given in
the working collection
spec.
--------------------------------------------------------------------------------------------------------------------
13 NOP 1 <13> No operation (**THIS IS A
DUPLICATION OF THE
IGNORE PROCESS)
--------------------------------------------------------------------------------------------------------------------
14 ERROR: kill the call 1 <14> send no status, discard
collected digit, go to idle
--------------------------------------------------------------------------------------------------------------------
15 STORE 1 <15> Save digit in collected
digit string
--------------------------------------------------------------------------------------------------------------------
16 CHKCNT 1 <16> Is the number of collected
digits = number
requested? If true,
execute the next process.
If false, execute the
process after that.
--------------------------------------------------------------------------------------------------------------------
17 REPDIG 1 <17> Report collected digits to
controller
--------------------------------------------------------------------------------------------------------------------
-59-
82
EVP-SRM (DSP) Software Design Specification 60
------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------
18 CLREND 1 <18> Store digit in collected
digit string. If collection
complete, send end flag
and report digit to
controller
--------------------------------------------------------------------------------------------------------------------
19 REENTER 2 <19> Counter is initially 0 when
MFcR2 begins. If Counter
< Reenter Count,
increment Counter,
execute the next process,
and skip the process after
that. If Counter = Reenter
Count, skip the next
process and execute the
process after that.
--------------------------------------------------------------------------------------------------------------------
20- Reserved -- -- --
127
--------------------------------------------------------------------------------------------------------------------
Table 5-23: Process Definitions
5.6.5 MFcR2 Signalling Parameter Memory Usage
The total memory usage for the MFcR2 Signalling Parameters is 8820 16-bit words,
and is distributed as shown in Table 5-24.
-60-
83
EVP-SRM (DSP) Software Design Specification 61
------------------------------------------------------------------------
[Table depicting MFcR2 Signalling Parameter Memory Usage]
Table 5-23: MFcR2 Signalling Parameter Memory Usage
6. DSP Time and Space Requirements
Currently, the time and space requirements are being tabulated in a separate
document. They will be included here in a future release of this document.
Table 6-1: DSP C54x MIPS Requirements by State
Table 6-2: DSP Memory Requirements
Table 6-3: Glossary of DSP Software Module Names
-61-
84
EVP-SRM (DSP) Software Design Specification 62
------------------------------------------------------------------------
7. Command Messages
Commands from the Core Processor are used to update all parameters and
configurations, run diagnostic tests, and drive the state transitions for the
major states in Section 3.4.
7.1 Command String Format
The Core Processor issues commands to the DSPs using the first timeslot on the
first buffered serial port using point-to-point HDLC protocol. Each command
consists of a variable length command string, which is composed of the following
fields: a command type (CMD_type) command subtype (CMD_subtype), the channel
number (CMD_channel), the message length in bytes (CMD_length), and command
parameters (CMD_params).
o CMD_type and CMD_subtype are each 4 bits long, and together they combine
for the first byte of all command messages. CMD_type is in the high
nibble.
o CMD_channel is one byte long for commands that are channel specific; for
commands that have no associated channel, the CMD_channel field is 0
bytes long (not present).
o CMDJength is one byte long for all command messages
o The CMD_params field's length is variable, N one byte increments. For
certain CMD3ype / CMD_subtype combinations, the CMD_params field is 0
bytes long (not present).
The command string shall have one of the following structures, depending on
whether the CMD_channel field is present:
--------------------------------------------------------
1 CMD_type | CMD_subtype
--------------------------------------------------------
2 CMD_channel
--------------------------------------------------------
3 CMD_length
--------------------------------------------------------
4+ CMD_params
--------------------------------------------------------
Table 7-1: Command structure when CMD channel is present
-62-
85
EVP-SRM (DSP) Software Design Specification 63
------------------------------------------------------------------------
--------------------------------------------------------
1 CMD_type CMD_subtype
--------------------------------------------------------
2 CMD_length
--------------------------------------------------------
3+ CMD_params
--------------------------------------------------------
Table 7-2: Command structure when CMD_channel is not present
7.2 Command Message Definitions
Table 7-3 shows the legal values for the CMD_type field.
-----------------------------------------------------------------------
CMD type (HEX) Function Description
-----------------------------------------------------------------------
0x0 IDLE Enter IDLE state
-----------------------------------------------------------------------
0x1 Diagnostic Test Execute diagnostics
-----------------------------------------------------------------------
0x2 DTMF Detection DTMF detection
command
-----------------------------------------------------------------------
0x3 MF Detection MF detection command
-----------------------------------------------------------------------
0x4 CP Detection CP detection command
-----------------------------------------------------------------------
0x5 Tone Generation Tone generation
command
-----------------------------------------------------------------------
0x6 MFcR2 Signalling MFcR2 signalling
command
-----------------------------------------------------------------------
0x7 - 0xF Not Used Reserved for future
expansion
-----------------------------------------------------------------------
Table 7-3: Legal CMD_type values.
Defined values for the CMD_subtype field are dependent on the CMD_type function.
Similarly, the defined values for the CMD_params field are dependent on the
CMD_type and CMDE_subtype values. The following subsections define all legal
combinations of CMD_subtype and CMD_params for each CMD_type.
7.2.1 IDLE (0x0) Commands
-63-
86
EVP-SRM (DSP) Software Design Specification 64
------------------------------------------------------------------------
The IDLE command tells the DSP to place one (or all) channels in the IDLE state.
Table 7-4 describes the meanings of all IDLE commands. Note that if CMD_subtype
= 0, then all channels are to enter the IDLE state.
---------------------------------------------------------------------
Field Length Value Description
---------------------------------------------------------------------
CMD type 4 bits 0x0 IDLE type
---------------------------------------------------------------------
CMD subtype 4 bits 0x00 -0x3F Channel to enter
IDLE state (0=all
channels)
---------------------------------------------------------------------
CMD channel 0 bytes - Not present
(channel is in
CMD subtype
field)
---------------------------------------------------------------------
CMD length 1 byte 0x02 Length of this
message
---------------------------------------------------------------------
CMD params 0 bytes (none)
Not present
---------------------------------------------------------------------
Table 7-4; IDLE (x0x) commands
7.2.2 DIAGNOSTIC TEST (0x1) Commands
The run-time DSP image performs the following diagnostic tests:
1. Version: The DSP will supply the checksum and DSP software version upon
request.
2. TDM Loopback: The DSP will transmit on a given channel the received data
from that (or another) channel. If the DSP is commanded to do TDM
loopback with the HDLC channel, an error status is generated.
3. HDLC Echo: The HDLC Module will transmit back to the 860 whatever it
receives.
4. Timer Test: The DSP will set a timer for a duration which a known number
of frame syncs should be detected.
-64-
87
EVP-SRM (DSP) Software Design Specification 65
------------------------------------------------------------------------
5. Performance Measure: The DSP will supply an abstract number indicating
the amount of idle time on the DSP for the last loop of the CSM.
08/05/97 CONFIDENTIAL
D2 Technologies Inc., Xxxxx Xxxxxxx, XX 00000 tel: 000-000-0000
-65-
88
EVP-SRM (DSP) Software Design Specification 66
------------------------------------------------------------------------
The following tables show the formats for the various runtime diagnostic test
commands.
7.2.2.1 DIAGNOSTIC TEST - Version (0x10) Command
Upon receipt of this command, the DSP will respond with a diagnostic status
containing the checksum and software version of the DSP code. CMD_channel is 0,
and there is no CMD_params section.
--------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------
CMD_type 4 bits 0x1 DIAGNOSTIC TEST
type
--------------------------------------------------------------------
CMD_subtype 4 bits 0x0 Version subtype
--------------------------------------------------------------------
CMD_channel 1 byte 0x00 Command is not
channel specific
--------------------------------------------------------------------
CMD_length 1 byte 0x03 Length of this message
--------------------------------------------------------------------
CMD_params 0 bytes (none) 0-length CMD_params
section
--------------------------------------------------------------------
Table 7-5: DIAGNOSTIC TEST - Version (0x10) Command
7.2.2.2 DIAGNOSTIC TEST - TDM Loopback (0x11) Command
Upon receipt of this command, the DSP will copy the data input on a given TDM
channel to the output on another TDM channel. If one of the commanded TDM
channels is an HDLC channel, then an error status is sent. CMD_channel contains
the input TDM channel to use, and CMD_params contains the output TDM channel to
use.
---------------------------------------------------------------------
Field Length Value Description
---------------------------------------------------------------------
CMD type 4 bits 0x1 DIAGNOSTIC TEST type
---------------------------------------------------------------------
CMD subtype 4 bits 0x1 TDM Loopback subtype
---------------------------------------------------------------------
CMD channel 1 byte 0x01 to Input TDM channel to use
0x3F
---------------------------------------------------------------------
-66-
89
EVP-SRM (DSP) Software Design Specification 67
------------------------------------------------------------------------
---------------------------------------------------------------------
CMD length 1 byte 0x04 Length of this message
---------------------------------------------------------------------
CMD params 1 byte 0x01 to Output TDM channel to
0x3F use
---------------------------------------------------------------------
7.2.2.3 DIAGNOSTIC TEST - HDLC Echo (0x12)Command
Upon receipt of this command, the HDLC module will transmit back to the 860
whatever it receives. CMD_channel is 0, and there is no CMD-params section.
-----------------------------------------------------------------------------
Field Length Value Description
-----------------------------------------------------------------------------
CMD type 4 bits 0x1 DIAGNOSTIC TEST type
-----------------------------------------------------------------------------
CMD subtype 4 bits 0x2 HDLC Echo subtype
-----------------------------------------------------------------------------
CMD channel 1 byte 0x00 Command is not channel specific
-----------------------------------------------------------------------------
CMD length 1 byte 0x03 Length of this message
-----------------------------------------------------------------------------
CMD params 0 bytes (none) 0-length CMD_params section
-----------------------------------------------------------------------------
7.2.2.4 DIAGNOSTIC TEST - Measure Performance (0x13) Command
Upon receipt of this command, the DPS will provide a perforance indicator which
will represent the amount of idle time on the DSP for the last loop of the CSM.
CMD_channel is 0, and there is no CMD-params section.
-----------------------------------------------------------------------------
Field Length Value Description
-----------------------------------------------------------------------------
CMD type 4 bits 0x1 DIAGNOSTIC TEST type
-----------------------------------------------------------------------------
CMD subtype 4 bits 0x3 Measure Performance subtype
-----------------------------------------------------------------------------
CMD channel 1 byte 0x00 Command is not channel specific
-----------------------------------------------------------------------------
CMD length 1 byte 0x03 Length of this message
-----------------------------------------------------------------------------
CMD params 0 bytes (none) 0-length CMD_params section
-----------------------------------------------------------------------------
Table 7-6: DIAGNOSTIC TEST - TDM Loopback (0x11) Command
7.2.2.3 DIAGNOSTIC TEST - HDLC Echo (0x12) Command
-67-
90
EVP-SRM (DSP) Software Design Specification 68
------------------------------------------------------------------------
Upon receipt of this command, the HDLC module will transmit back to the 860
whatever it receives. CMD_channel is 0, and there is no CMD_params section.
TABLE 7-7: DIAGNOSTIC TEST - HDLC ECHO (0X13) COMMAND
Upon receipt of this command, the DSP will provide a performance indicator which
will represent the amount of idle time on the DSP for the last loop of the CSM.
CMD_channel is 0, and there is no CMD_params section.
-----------------------------------------------------------------------------
Field Length Value Description
-----------------------------------------------------------------------------
CMD type 4 bits 0x1 DIAGNOSTIC TEST type
-----------------------------------------------------------------------------
CMD subtype 4 bits 0x3 Measure Performance subtype
-----------------------------------------------------------------------------
CMD channel 1 byte 0x00 Command is not channel specific
-----------------------------------------------------------------------------
CMD length 1 byte 0x03 Length of this message
-----------------------------------------------------------------------------
CMD params 0 bytes (none) 0-length CMD_params section
-----------------------------------------------------------------------------
Table 7-8: DIAGNOSTIC TEST - Measure Performance (0x13) Command
7.2.3 DTMF Detection (0x2) Commands
For the DTMF CMD_type, the values for CMD_subtype are as follows:
1. CMD_type = COLLECTION SPECIFICATION DOWNLOAD (0x0)
2. CMD_subtype = SETUP (0x1)
3. CMD_subtype = EXECUTION (0x2)
The format of each command follows.
7.2.3.1 DTMF/COLLECTION SPECIFICATION DOWNLOAD (0x20)
For this command, the CMD_params field contains an ID of the Collection
Specification, followed by all DTMF Collection Specification parameters. Upon
receipt of this command, the DSP will copy the values to the default DTMF
Collection Specification with this ID.
Table 7-9 shows the format of the DTMF/COLLECTION SPECIFICATION DOWNLOAD
command.
-68-
91
EVP-SRM (DSP) Software Design Specification 69
------------------------------------------------------------------------
-----------------------------------------------------------------------------
Field Length Value Description
-----------------------------------------------------------------------------
CMD _type 4 bits 0x2 DTMF DETECTION type
-----------------------------------------------------------------------------
CMD _subtype 4 bits 0x1 Collection Specification Download
-----------------------------------------------------------------------------
CMD _channel 1 byte 0x00 Command is not channel specific
-----------------------------------------------------------------------------
CMD _length 1 byte 0x0E Length of this message
-----------------------------------------------------------------------------
CMD _params 11 bytes * All Collection Specification values
-----------------------------------------------------------------------------
Table 7-9: ASDF REMOVE CMD_CHANNEL
DTMF/COLLECTION SPECIFICATION
DOWNLOAD (0x20) Command
Table 7-10 shows the format of the CMD_params section of this command. See
Section 5.2.1 for field definitions.
--------------------------------------------------------------------------------
Bits
---------------------===========================================================
Byte 76543210
=====================-----------------------------------------------------------
0 Collection Spec ID
--------------------------------------------------------------------------------
1 CW | k
--------------------------------------------------------------------------------
2 DE | N
--------------------------------------------------------------------------------
3 P | FT | MIN_POWER
--------------------------------------------------------------------------------
4 MIN_MAKE
--------------------------------------------------------------------------------
5 MIN_BREAK
--------------------------------------------------------------------------------
6 IDTO | PSC
--------------------------------------------------------------------------------
7 FDTO
--------------------------------------------------------------------------------
8 TDTO
--------------------------------------------------------------------------------
9 POS_TWIST | NEG_TWIST
--------------------------------------------------------------------------------
10 ED | CD
--------------------------------------------------------------------------------
Table 7-10: CMD _params section format for DTMF/COLLECTION SPECIFICATION
DOWNLOAD (0x20) Command
-69-
92
EVP-SRM (DSP) Software Design Specification 70
------------------------------------------------------------------------
7.2.3.1 DTMF/SETUP (0x21)
The DTMF/SETUP command is used to configure a given channel and to start
executing DTMF detection on that channel. The format of the DTMF/SETUP command
follows:
-------------------------------------------------------------------------
Field Length Value Description
-------------------------------------------------------------------------
CMD _type 4 bits 0x2 DTMF
-------------------------------------------------------------------------
CMD _subtype 4 bits 0x1 SETUP
-------------------------------------------------------------------------
CMD _channel 1 byte 0x01 - 0x3F Channel
-------------------------------------------------------------------------
CMD _length 1 byte (N+3) Length of this message
-------------------------------------------------------------------------
CMD _params N bytes *see below *see below
-------------------------------------------------------------------------
Table 7-11: DTMF/SETUP (0x21) Command Format
The CMD _params section of the DTMF/SETUP command consists of an execution flag
(EX), the default collection spec identifier to use (ID, and the number of
digits to collect (N). Optionally, the CMD _params section contains other
collection spec parameters. These parameters each have their own parameter ID (1
byte long), and parameter filed (1 byte long). The format of the CMD _params
section for this command follows:
----------------------------------------------------
Byte Bits
====================================================
7 6 5 4 3 2 1
----------------------------------------------------
0 EX | ID
----------------------------------------------------
1 | N
----------------------------------------------------
2+ optional param ID / param pairs
----------------------------------------------------
Table 7-12:
o If the EX bit is 1, then execution is to start after processing
this command. Otherwise, the DSP will wait for an execution
command separately, and maintain the configuration specified in
this command.
o If the ID field is 0, use the previous configuration. If there is
no previous configuration, then the DSP will generate an error
status. If the ID field is nonzero, then configure this channel
with this ID's default collection spec.
-70-
93
EVP-SRM (DSP) Software Design Specification 71
------------------------------------------------------------------------
o N ranges from 1 to 40. The DSP will generate an error status if N
is outside this range.
If optional parameters are included in the DTMF/SETUP command, then the DSP will
update the working copy of the collection spec for this channel with the
parameters. The allowable values for each optional parameter follows:
------------------------------------------------------------------------
Parameter ID Parameter(s), bit locations
------------------======================================================
(1 byte) 7654321
==================------------------------------------------------------
0 | k
------------------------------------------------------
1 | MIN_POWER
------------------------------------------------------
2 MIN_MAKE
------------------------------------------------------
3 MIN_BREAK
------------------------------------------------------
4 CW
------------------------------------------------------
5 IDTO
------------------------------------------------------
6 PSC
------------------------------------------------------
7 PFTO
------------------------------------------------------
8 TDTO
------------------------------------------------------
9 POS_TWIST | NEG_TWIST
------------------------------------------------------
10 ED | CD
------------------------------------------------------
11-255 Reserved
------------------------------------------------------------------------
Table 7-13: ASDF UPDATE TABLE FOR NEW FORMAT Parameter ID/Parameter
definitions for DTMF/SETUP command
7.2.3.3 DTMF/EXECUTE (0x22)
The DTMF/EXECUTE is used to change the execution status only for a given
channel. The format of the DTMF/EXECUTE command follows:
-71-
94
EVP-SRM (DSP) Software Design Specification 72
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x2 DTMF DETECTION type
--------------------------------------------------------------------------------
CMD _subtype 4 bits 0x3 EXECUTE subtype
--------------------------------------------------------------------------------
CMD _channel 1 byte 0x01 - 0x3F Channel
--------------------------------------------------------------------------------
CMD _length 1 byte 0x04 Length of this message = 4 bytes
--------------------------------------------------------------------------------
CMD _params 1 byte 0x00, 0x01, or 0x02 START, STOP, ABORT
--------------------------------------------------------------------------------
Table 7-14: ASDF UPDATE TABLE FOR CORRECT SUBTYPE
DTMF/EXECUTE (0x22) Command Format
o If CMD _params = 0x00 (START), the DSP will start DTMF collection
with the current configuration on the channel specified by CMD
channel.
o If CMD _params = 0x01 (STOP), the DSP will stop DTMF collection on
the channel specified by CMD _params = 0x02 (ABORT), the DSP will
stop DTMF collcection on the channels specified by CMD _channel,
and discard any previously unreported digits detected.
7.2.4 MF Detection (0x3) Commands
For the MF CMD _type, the values for CMD _subtype are as follows:
1. CMD _subtype = COLLECTION SPECIFICATION DOWNLOAD (0x0)
2. CMD _subtype = SETUP (0x1)
3. CMD _subtype = EXECUTION (0x2)
The format of each command follows.
-72-
95
EVP-SRM (DSP) Software Design Specification 73
------------------------------------------------------------------------
7.2.4.1 MF/COLLECTION SPECIFICATION DOWNLOAD (0x30)
For this command, the CMD _params field contains an ID of the Collection
Specification, followed by all MF Collection Specification parameters. Upon
receipt of this command, the DSP will copy the values to the default MF
Collection Specification with this ID.
Table 7-15 shows the format of the MF/COLLECTION SPECIFICATION DOWNLOAD Command.
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x3 MF DETECTION type
--------------------------------------------------------------------------------
CMD _subtype 4 bits 0x0 Collection Specification Download
--------------------------------------------------------------------------------
CMD _channel 0 bytes - Command is not channel specific
--------------------------------------------------------------------------------
CMD _length 1 byte 0x0F Length of this message
--------------------------------------------------------------------------------
CMD _params 13 bytes * All Collection Specification values
--------------------------------------------------------------------------------
Table 7-15: MF/COLLECTION SPECIFICATION DOWNLOAD (0x30) Command
Table 7-16 shows the format of the CMD _params section of this command. See
Section 5.2.1 for field definitions.
---------------------------------------------------------------------------
Bits
-------------==============================================================
(1 byte) 7 6 5 4 3 2 1 0
=============--------------------------------------------------------------
0 Collection Spec ID
--------------------------------------------------------------
1 TT | TD | K
--------------------------------------------------------------
2 | N
--------------------------------------------------------------
3 | MIN_POWER
--------------------------------------------------------------
4 MIN_MAKE
--------------------------------------------------------------
5 MIN_BREAK
--------------------------------------------------------------
6 CW
--------------------------------------------------------------
7 IDTO
--------------------------------------------------------------
8 PSC
--------------------------------------------------------------
9 FDTO
--------------------------------------------------------------
10 TDTO
--------------------------------------------------------------
00 XXXX | IS
--------------------------------------------------------------
12 ED | CD
---------------------------------------------------------------------------
Table 7-16: CMD _params section format for MF/COLLECTION SPECIFICATION
DOWNLOAD (0x30) Command
-73-
96
EVP-SRM (DSP) Software Design Specification 74
------------------------------------------------------------------------
7.2.4.2 MF/SETUP (0x31)
The MF/SETUP command is used to configure a given channel and to start executing
MF detection on that channel. The format of the MF/SETUP command follows:
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x3 MF
CMD _subtype 4 bits 0x1 SETUP
CMD _channel 1 byte 0x01 -0x3F Length of this message
CMD _length 1 byte *see below *see below
CMD _params *see below *see below All Collection Specification values
Table 7-17: MF/SETUP (0x31) Command Format
The CMD _params section of the MF/SETUP command consists of an execution flag
(EX), default collection spec identifier to use (ID), and the number of digits
to collect (N). Optionally, the CMD _params section contains other parameters.
These optional parameters each have their own parameter ID (1 byte long), and
parameter field (1 byte long). The format of the CMD _params section for this
command follows:
-------------------------------------------------------------------
Byte Bits
===================================================================
7 6 5 4 3 2 1 0
-------------------------------------------------------------------
0 EX |
-------------------------------------------------------------------
1 | N
-------------------------------------------------------------------
2+ optional param ID / param paris
-------------------------------------------------------------------
Table 7-18
o If the EX bit is 1, then execution is to start after processing
this command. Otherwise, the DSP will wait for an execution
command separately, and maintain the configuration specified in
this command.
o If the ID field is 0, use the previous configuration. If there is
no previous configuration, then the DSP will generate an error
status. If the ID field is nonzero, then configure this channel
with this ID's default collection spec.
o N ranges from 1 to 40. The DSP will generate an error status if N
is outside this range.
-74-
97
EVP-SRM (DSP) Software Design Specification 75
------------------------------------------------------------------------
If optional parameters are included in the MFR1/SETUP command, then the DSP will
update the working copy of the collection spec for this channel with the
parameters.
The allowable values for each optional parameter follows:
------------------------------------------------------------------------------------------------
16-bit words per Number of Memory
Section ID numbering Specification Specifications Usage
================================================================================================
Simple Tone Specifications 0 to 511 10 512 5120
------------------------------------------------------------------------------------------------
Special Case Templates 512 to 575 10 64 640
------------------------------------------------------------------------------------------------
Special Tone Specifications 576 to 640 5 64 320
------------------------------------------------------------------------------------------------
Tone Groups 0 to 63 64 64 4096
------------------------------------------------------------------------------------------------
Table 7-19: Parameter ID/Parameter definitions for MF/SETUP command
Again, see Section 5.2.1 for field definitions.
7.2.4.3 MF/EXECUTE (0x33)
The MF/EXECUTE command is used to change the execution status only for a given
channel. The format of the MF/EXECUTE command follows:
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x3 MF DETECTION type
CMD _subtype 4 bits 0x3 EXECUTE subtype
CMD _channel 1 byte 0x01 - 0x3F Channel
CMD _length 1 byte 0x04 Length of this message = 4 bytes
CMD _params 1 byte 0x00, 0x01, or 0x02 START, STOP, ABORT
Table 7-20: MF/EXECUTE (0x33) Command Format
o If CMD _params = 0x00 (START), the DSP will start MF collection
with the current configuration on the channel specified by CMD
_channel.
o If CMD _params = 0x01 (STOP), the DSP will stop MF collection on
the channel specified by CMD _channel, and report any previously
unreported digits detected.
o If CMD _params = 0x02 (ABORT), the DSP will stop MF collection on
the channels specified by CMD _channel, and discard any previously
unreported digits detected.
-75-
98
EVP-SRM (DSP) Software Design Specification 76
------------------------------------------------------------------------
7.2.5 CP Detection (0x4) Commands
For the Call Progress CMD _type, the values for CMD _subtype are as follows:
1. CMD _subtype = SETUP (0x0)
2. CMD _subtype = EXECUTION (0x1)
3. CMD _subtype = COLLECTION SPEC DOWNLOAD (0x2)
4. CMD _subtype = NORMAL CP TONE SPEC DOWNLOAD (0x3)
5. CMD _subtype = SIT CP TONE SPEC DOWNLOAD (0x4)
6. CMD _subtype = TONE GROUP DOWNLOAD (0x5)
The format of each CMD _subtype follows.
7.2.5.1 CP Detection/SETUP (0x40)
The CP Detection/SETUP command is used to configure a given channel and to start
executing CP Detection on that channel. The format of this command is as
follows:
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x4 CP Detection
CMD _subtype 4 bits 0x0 SETUP
CMD _channel 1 byte 0x01 - 0x3F Channel
CMD _length 1 byte 6, 8, 10, 12, or 14 Message Length
CMD _params 1 byte *see below *see below
Table 7-21: CP Detection /SETUP (0x40) Command Format
The CMD _params section of the CP Detection/SETUP command has the following
format:
Parameter(s), bit locations
----------------- ---------------------------------------------------------
Word 7 6 5 4 3 2 1 0
----------------- ---------------------------------------------------------
1 EX
---------------------------------------------------------
2 CP Collection Spec ID
---------------------------------------------------------
3 CP Tone Group ID
---------------------------------------------------------
4 Optional Param ID 1
---------------------------------------------------------
-76-
99
EVP-SRM (DSP) Software Design Specification 77
------------------------------------------------------------------------
---------------------------------------------------------
5 Param 1
---------------------------------------------------------
6 Optional Param ID 2
---------------------------------------------------------
7 Param 2
---------------------------------------------------------
8 Optional Param ID 3
---------------------------------------------------------
9 Param 3
---------------------------------------------------------
10 Optional Param ID 4
---------------------------------------------------------
11 Param 4
---------------------------------------------------------------------------
Table 7-22: CP Detection /SETUP CMD _params section
o Word 1: EX is an execution flag:
EX = 1: start executing CP Detection after configuring on this
channel
EX = 0: configure this channel, but do not start executing
o Word 2: CP Collection Spec ID:
CP Collection Spec ID nonzero: This is the new default
collection spec. All working values are reinitialized to
these defaults. CP Collection Speci ID = 0, then error. At
startup, default is set to 0.
o Word 3: CP Tone Group ID: This is the tone group to use on this
channel.
o Word 4-11:
These are the optional parameters, which allow for
modification of the working copy of the collection
specification. Table 7-23 shows the format of each optional
Parameter ID/Parameter pair.
----------------------------------------- --------------------------------------
Parameter ID Parameter
----------------------------------------- --------------------------------------
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
----------------------------------------- --------------------------------------
0 0 P
----------------------------------------- --------------------------------------
0 1 PSC
----------------------------------------- --------------------------------------
1 0 TC
----------------------------------------- --------------------------------------
1 1 FDTO
----------------------------------------- --------------------------------------
Table 7-23: CP Detection/SETUP Param ID/Param values
7.2.5.2 CP Detection/EXECUTE (0x41)
The CP Detection/EXECUTE command is used to change the execution status only for
a given channel. The format of the CP Detection/EXECUTE command follows:
-77-
100
EVP-SRM (DSP) Software Design Specification 78
------------------------------------------------------------------------
-------------------------------------------------------------------------------
Field Length Value Description
-------------------------------------------------------------------------------
CMD _type 4 bits 0x4 CP Detection
CMD _subtype 4 bits 0x1 EXECUTE
CMD _channel 1 byte 0x01 - 0x3F Channel
CMD _length 1 byte 0x04 Message Length
CMD _params 1 byte 0x00 or 0x01 START (0) OR STOP (1)
Table 7-24: CP Detection/EXECUTE (0x42) Command Format
o If CMD _params = 0x01 (START), the DSP will start CP Detection
with the current configuration on the channel specified by CMD
_channel.
o If CMD _params = 0x01 (STOP), the DSP will stop CP Detection on
the channel specified by CMD _channel.
7.2.5.3 CP Detect/COLLECTION SPEC DOWNLOAD (0x42)
For this command, the CMD _params field contains an ID of the Collection
Specification, followed by all CP Detection Collection Specification parameters.
Upon receipt of this command, the DSP will copy the values to the default CP
Detect Collection Specification with this ID.
Table 7-25 shows the format of the CP Detection/COLLECTION SPEC DOWNLOAD
command.
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x4 CP Detect
CMD _subtype 4 bits 0x2 Collection Spec Download
CMD _channel 1 byte 0x00 Command is not channel specific
CMD _length 1 byte 0x06 Length of this message
CMD _params 3 bytes * All Collection Specification values
Table 7-25: CP Detect/COLLECTION SPECIFICATION DOWNLOAD (0x42)
Command Format
Shows the format of the CMD _params section of this command.
-78-
101
EVP-SRM (DSP) Software Design Specification 79
------------------------------------------------------------------------
-----------------------------------------------------------------------
Bits
---------------- ======================================================
Byte 7 6 5 4 3 2 1 0
------------------------------------------------------
1 Collection Spec ID
------------------------------------------------------
2 P PSC
------------------------------------------------------
3 TC FDTO
-----------------------------------------------------------------------
Table 7-26: CP Detect/COLLECTION SPECIFICATION DOWNLOAD Command CMD _params
Section Format
7.2.5.4 CP Detection NORMAL CP TONE SPEC DOWNLOAD (0x43)
For this command, the CMD _params field contains an ID of the Normal CP Tone
Specification, followed by all fields in the Normal CP tone Specification. Upon
receipt of this command, the DSP will copy the values to the default Normal CP
Tone Specification with this ID, then do any preprocessing needed to enable
detection of this tone.
shows the format of the CP Detection NORMAL CP TONE SPEC DOWNLOAD command.
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x4 CP Detect
--------------------------------------------------------------------------------
CMD _subtype 4 bits 0x3 Normal CP Tone Spec download
--------------------------------------------------------------------------------
CMD _channel 1 byte 0x00 Command is not channel specific
--------------------------------------------------------------------------------
CMD _length 1 byte 0x2F Length of this message
--------------------------------------------------------------------------------
CMD _params 44 bytes * Tone Specification ID and values
--------------------------------------------------------------------------------
Table 7-27: CP Detect/NORMAL CP TONE SPEC DOWNLOAD (0x43)
Command Format
[TBD] Need to add format of CMD _params section for this command
7.2.5.5 CP Detection SIT CP TONE SPEC DOWNLOAD (0x44)
For this command, the CMD _params field contains an ID of the SIT CP Tone
Specification, followed by all fields in the SIT CP Tone Specification. Upon
receipt of this command, the DSP will copy the values to the default SIT CP Tone
Specification with this ID, then do any preprocessing needed to enable detection
of this tone.
-79-
102
EVP-SRM (DSP) Software Design Specification 80
------------------------------------------------------------------------
shows the format of the CP Detect/ SIT CP TONE SPEC DOWNLOAD Command.
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x4 CP Detect
--------------------------------------------------------------------------------
CMD _subtype 4 bits 0x4 SIT CP Tone Spec download
--------------------------------------------------------------------------------
CMD _channel 1 byte 0x00 Command is not channel specific
--------------------------------------------------------------------------------
CMD _length 1 byte 0x2F Length of this message
--------------------------------------------------------------------------------
CMD _params 44 bytes * Tone Specification ID and values
--------------------------------------------------------------------------------
Table 7-28: CP Detect/SIT CP TONE SPEC DOWNLOAD (0x44) Command Format
[TBD] Need to add format of CMD _params section for this command
7.2.5.6 CP Detection TONE GROUP DOWNLOAD (0x45)
For this command, the CMD _params field contains an ID of the Tone Group,
followed by all fields in the Tone Group. Upon receipt of this command, the DSP
will copy the values to the Tone Group with this ID, then do any preprocessing
needed to enable detection of tones in this group.
shows the format of the CP Detect/TONE GROUP DOWNLOAD (0x45) command.
Table 7-29: CP Detect/TONE GROUP DOWNLOAD (0x45)
Command Format
[TBD] Need to add format of CMD _params section for this command
7.2.6 Tone Generation (0x5) Commands
For the Tone Generation CMD _type, the values for CMD _subtype are as follows:
1. CMD _subtype = TRANSMIT TONE (0x0)
2. CMD _subtype = OUTPULSE DIGITS (0x1)
3. CMD _subtype = STOP EXECUTION (0x2)
4. CMD _subtype = DOWNLOAD SIMPLE TONE SPEC (0x3)
5. CMD _subtype = DOWNLOAD SPECIAL CASE TEMPLATE (0x4)
6. CMD _subtype = DOWNLOAD SPECIAL TONE SPEC (0x5)
-80-
103
EVP-SRM (DSP) Software Design Specification 81
------------------------------------------------------------------------
7. CMD _subtype = DOWNLOAD USER-DEFINED TONE GROUP (0x6)
7.2.6.1 Tone Generation TRANSMIT TONE (0x50)
The Tone Generation TRANSMIT TONE command is used to generate singular tones (as
opposed to outpulsing a series of tones). When the DSP processes this command,
it will begin generating the tone specified in the command. Upon completion of
the tone (if not infinite duration), the DSP will generate silence to the
channel. The format of this command is shown below.
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x5 Tone Generation
--------------------------------------------------------------------------------
CMD _subtype 4 bits 0x0 Transmit Tone
--------------------------------------------------------------------------------
CMD _channel 1 byte 1-63 Channel
--------------------------------------------------------------------------------
CMD _length 1 byte 5 Length of this message
--------------------------------------------------------------------------------
CMD _params 2 bytes 1-64 Tone Group ID
1-64 Tone Index
--------------------------------------------------------------------------------
Table 7-30: Tone Generation TRANSMIT TONE (0x50) Command Format
7.2.6.2 Tone Generation OUTPULSE DIGITS (0x51)
The Tone Generation OUTPULSE DIGITS command is used to generate a series of
tones from one Tone Group. When the DSP processes this command, it will begin
outpulsing the tones specified in the command. Upon completion of the tones, the
DSP will generate silence to the channel. If the Report Completion flag (RC) is
set, the DSP will also report tone completion.
If the Tone Group specified in this command is 0-3 (special DTMF, MFR1, MFR2-
Forwards and MFR2-Backwards Tone Groups), then the tones are specified in 4 bit
numbers (0 to 15). Otherwise, they are specified in 8 bit numbers. The format of
this command is shown below.
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x5 Tone Generation
--------------------------------------------------------------------------------
CMD _subtype 4 bits 0x1 Outpulse Digits
--------------------------------------------------------------------------------
CMD _channel 1 byte 1-63 Channel
--------------------------------------------------------------------------------
CMD _length 1 byte *see below Length of this message
--------------------------------------------------------------------------------
CMD _params *see below *see below *see below
--------------------------------------------------------------------------------
Table 7-31: Tone Generation OUTPULSE DIGITS (0x50) Command Format
-81-
104
EVP-SRM (DSP) SOFTWARE Design Specification 82
------------------------------------------------------------------------
The format of the CMD _params section for this command is shown below.
----------------------------------------------------------------------
(DTMF, MFR1, MFR2 Tone Groups)
----------------------------------------------------------------------
Byte 7 6 5 4 3 2 1 0
======================================================================
1 Tone Group = 0, 1, 2, or 3
-------------------------------------------------------
2 RC Number of Digital (1 to 40)
-------------------------------------------------------
3 Tmake in ms (if 0, default = 50 ms)
-------------------------------------------------------
4 Tbreak in ms (if 0, default = 50 ms)
-------------------------------------------------------
5 digit 1 digit 2
-------------------------------------------------------
6 digit 3 digit 4
7 - -
- -
<=24 - -
---------------------------- --------------------------
<=44
--------------
-------------------------------------------------------------
(User-Defined Tone Groups)
-------------------------------------------------------------
7 6 5 4 3 2 1 0
-------------------------------------------------------------
Tone Group: 4 to 63
-------------------------------------------------------------
RC | Number of Digits (1 to 40)
------- -----------------------------------------------------
Tmake in ms (if 0, default = 50 ms)
-------------------------------------------------------------
Tbreak in ms (if o, default = 50 ms)
-------------------------------------------------------------
digit 1
--------------- ---------------------------------------------
digit 2
--------------- ---------------------------------------------
digit 3
--------------- ---------------------------------------------
-
--------------- ---------------------------------------------
-
--------------- ---------------------------------------------
-
--------------- ---------------------------------------------
-
-------------------------------------------------------------
Table 7-32: CMD _params section format for
Tone Generation/OUTPULSE DIGITS (0x51) Command
7.2.6.3 Tone Generation STOP EXECUTION (0x52)
The Tone Generation STOP EXECUTION command is used to cease tone generation.
When it processes this command, the DSP will transition to the IDLE state on the
given channel. The format of this command is shown below.
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x5 Tone Generation
--------------------------------------------------------------------------------
CMD _subtype 4 bits 0x2 Stop Execution
--------------------------------------------------------------------------------
CMD _channel 1 byte 1-63 Channel
--------------------------------------------------------------------------------
CMD _length 1 byte 3 Length of this message
--------------------------------------------------------------------------------
CMD _params 0 bytes - No parameters
--------------------------------------------------------------------------------
Table 7-33: Tone Generation STOP EXECUTION (0x52) Command Format
7.2.6.4 Tone Generation DOWNLOAD SIMPLE TONE SPEC (0x53)
The Tone Generation DOWNLOAD SIMPLE TONE SPEC command is used to update Simple
Tone Specifications. When it processes this command, the DSP will copy the
parameters to the location of the Simple Tone Spec with the commanded ID.
The format of this command is shown below.
-82-
105
EVP-SRM (DSP) Software Design Specification 83
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD _type 4 bits 0x5 Tone Generation
--------------------------------------------------------------------------------
CMD _subtype 4 bits 0x3 Download Simple Tone Spec
--------------------------------------------------------------------------------
CMD _channel 0 bytes - No Channel
--------------------------------------------------------------------------------
CMD _length 1 byte 24 Length of this message
--------------------------------------------------------------------------------
CMD _params 22 bytes - Simple Tone Spec ID and values
--------------------------------------------------------------------------------
Table 7-34: Tone Generation DOWNLOAD SIMPLE TONE SPEC (0x53) Command
[TBD] need to add format of CMD _params section for this command
-83-
106
EVP-SRM (DSP) Software Design Specification 84
------------------------------------------------------------------------
7.2.6.6 Tone Generation DOWNLOAD SPECIAL TONE SPEC (0x52)
The Tone Generation DOWNLOAD SPECIAL TONE SPEC command is used to update Special
Tone Specifications. When it processes this command, the DSP will copy the
parameters to the location of the Special Tone Specification with the commanded
ID.
The format of this command is shown below.
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD type 4 bits 0x5 Tone Generation
--------------------------------------------------------------------------------
CMD subtype 4 bits 0x5 Download Special Tone Spec
--------------------------------------------------------------------------------
CMD channel 0 bytes - No Channel
--------------------------------------------------------------------------------
CMD length 1 byte 12 Length of this message
--------------------------------------------------------------------------------
CMD _params 10 bytes - Special Tone Spec ID and values
--------------------------------------------------------------------------------
Table 7-36: Tone Generation DOWNLOAD SPECIAL TONE SPECIFICATION
(0x55)
Command Format
[TBD] need to add format of CMD_params section for this command
7.2.6.7 TONE GENERATION DOWNLOAD USER-DEFINED TONE GROUP (0X56)
The tone Generation DOWNLOAD USER-DEFINED TONE GROUP command is used to update
User-defined tone Groups. When it processes this command, the DSP will copy the
parameters to the location of the User-defined Tone Group with this commanded
ID.
The format of this command is shown below.
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD type 4 bits 0x5 Tone Generation
--------------------------------------------------------------------------------
CMD Subtype 4 bits 0x6 Download User-defined Tone Group
--------------------------------------------------------------------------------
CMD channel 0 bytes - No Channel
--------------------------------------------------------------------------------
-84-
107
EVP-SRM (DSP) Software Design Specification 85
------------------------------------------------------------------------
--------------------------------------------------------------------------------
CMD length 1 byte 132 Length of this message
--------------------------------------------------------------------------------
CMD _params 130 - User-defined tone Group ID and values
--------------------------------------------------------------------------------
Table 7-37: Tone Generation DOWNLOAD USER-DEFINED TONE GROUP (0x56)
Command Format
[TBD] need to add format of CMD-params section for this command
7.2.7 MFcR2 Signalling (0x6) Commands
For the MF cR2 CMD _type, the values for CMD _subtype are as follows:
1. CMD_subtype = COLLECTION SPECIFICATION DOWNLOAD (0x0)
2. CMD_subtype = SETUP (0x1)
3. CMD_subtype = EXECUTION (0x2)
The format of each command follows:
7.2.7.1 MFCR2/COLLECTION SPECIFICATION DOWNLOAD (0X60)
For this command, the CMD _params field contains an ID of the Collection
Specification, followed by all MF Collection Specification parameters. Upon
receipt of this command, the DSP will copy the values to the default MF
Collection Specification with this ID.
Table 7-38 shows the format of the MFcR2/COLLECTION SPECIFICATION DOWNLOAD
command.
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD type 4 bits 0x6 MFcR2 Signalling
--------------------------------------------------------------------------------
CMD subtype 4 bits 0x0 Collection Specification Download
--------------------------------------------------------------------------------
CMD channel 0 bytes - Command is not channel specific
--------------------------------------------------------------------------------
CMD length 1 byte 0x0F Length of this message
--------------------------------------------------------------------------------
CMD _params 13 bytes * All Collection Specification values
--------------------------------------------------------------------------------
Table 7-38: MFcR2/COLLECTION SPECIFICATION DOWNLOAD (0x60) Command
-85-
108
EVP-SRM (DSP) Software Design Specification 86
------------------------------------------------------------------------
Table 7-39 shows the format of the CMD _params section of this command. See
Sections 5.2.1 and 5.3.1 for field definitions.
--------------------------------------------------------------------------------
Bits
--------------------------------------------------------------------------------
Byte 7 6 5 4 3 2 1 0
--------------------------------------------------------------------------------
0 Collection Spec ID
--------------------------------------------------------------------------------
1 TT TD k
--------------------------------------------------------------------------------
2 N
--------------------------------------------------------------------------------
3 MIN POWER
--------------------------------------------------------------------------------
4 MIN_MAKE
--------------------------------------------------------------------------------
5 MIN_BRAKE
--------------------------------------------------------------------------------
6 CW
--------------------------------------------------------------------------------
7 IDTO
--------------------------------------------------------------------------------
8 PSC
--------------------------------------------------------------------------------
9 FDTO
--------------------------------------------------------------------------------
10 TDTO
--------------------------------------------------------------------------------
11 ISTT IS
--------------------------------------------------------------------------------
12 ED CD
--------------------------------------------------------------------------------
Table 7-39: CMD_params section format for MFcR2 / COLLECTION
SPECIFICATION
DOWNLOAD (0x30) Command
7.2.7.2 MFcR2/SETUP (0x61)
The MFcR2/SETUP command is used to configure a given channel and to start
executing MFcR2 signalling on that channel. The format of the MFcR2/SETUP
command follows:
-86-
109
EVP-SRM (DSP) Software Design Specification 87
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD type 4 bits 0x6 MFcR2
--------------------------------------------------------------------------------
CMD subtype 4 bits 0x1 SETUP
--------------------------------------------------------------------------------
CMD channel 0 byte 0x01 - 0x3F Channel
--------------------------------------------------------------------------------
CMD length 1 byte *see below Length of this message
--------------------------------------------------------------------------------
CMD_params *see below *see below *see below
--------------------------------------------------------------------------------
Table 7-40: MFcR2/SETUP (0x61) Command Format
The CMD_params section of the MFcR2/SETUP command consists of the default
collection spec identifier to use (ID, and the number of digits to collect (N).
Optionally, the CMD _params section contains other parameters. These optional
parameters each have their own parameter ID (1 byte long), and parameter field
(1 byte long). The format of the CMD _params section for this command follows:
--------------------------------------------------------------------------------
Bits
--------------------------------------------------------------------------------
Byte 7 6 5 4 3 2 1 0
--------------------------------------------------------------------------------
0 EX ID
--------------------------------------------------------------------------------
1 N
--------------------------------------------------------------------------------
2+ optional param ID / param pairs
--------------------------------------------------------------------------------
Table 7-41
o The EX bit is disabled for MFcR2 signalling. This is because there is
other information that is needed before signalling can begin. The DSP
will wait for an execute command separately, and maintain the
configuration specified in this command.
o If the ID field is 0, use the previous configuration. If there is no
previous configuration, then the DSP will generate an error status. If
the ID field is nonzero, then configure this channel with this ID's
default collection spec.
-87-
110
EVP-SRM (DSP) Software Design Specification 88
------------------------------------------------------------------------
o N ranges from 1 to 40. The DSP will generate an error status if N is
outside this range.
If optional parameters are included in the MFcR2/SETUP command, then the DSP
will update the working copy of the collection spec for this channel with the
parameters. The allowable values for each optional parameter follows:
--------------------------------------------------------------------------------
Bits
--------------------------------------------------------------------------------
Byte 7 6 5 4 3 2 1 0
--------------------------------------------------------------------------------
0 Collection Spec ID
--------------------------------------------------------------------------------
1 TT TD k
--------------------------------------------------------------------------------
2 N
--------------------------------------------------------------------------------
3 MIN POWER
--------------------------------------------------------------------------------
4 MIN_MAKE
--------------------------------------------------------------------------------
5 MIN_BRAKE
--------------------------------------------------------------------------------
6 CW
--------------------------------------------------------------------------------
7 IDTO
--------------------------------------------------------------------------------
8 PSC
--------------------------------------------------------------------------------
9 FDTO
--------------------------------------------------------------------------------
10 TDTO
--------------------------------------------------------------------------------
11 ISTT IS
--------------------------------------------------------------------------------
12 ED CD
--------------------------------------------------------------------------------
Table 7-42: Parameter ID/Parameter definitions for MFcR2/SETUP command
Again, see Sections 5.2.1 and MF Collection Specifications for field
definitions.
7.2.7.3 MFCR2/EXECUTE (0X63)
-88-
111
EVP-SRM (DSP) Software Design Specification 89
------------------------------------------------------------------------
The MFcR2/EXECUTE command is used to start executing either forwards or
backwards compelled signalling for a given channel. If this is a start execution
command, then this command also contains other information needed to execute.
The format of the MF/EXECUTE command follows:
--------------------------------------------------------------------------------
Field Length Value Description
--------------------------------------------------------------------------------
CMD type 4 bits 0x6 MFcR2 Signalling
--------------------------------------------------------------------------------
CMD subtype 4 bits 0x3 EXECUTE
--------------------------------------------------------------------------------
CMD channel 1 byte 0x01 - 0x3F Channel
--------------------------------------------------------------------------------
CMD length 1 byte *see below *see below
--------------------------------------------------------------------------------
CMD _params 1 byte *see below *see below
--------------------------------------------------------------------------------
Table 7-40: MFcR2/SETUP (0x61) Command Format
For this CMD type / CMD _subtype, the CMD_params field format is defined by the
first byte in the CMD _params section. The defined values are as follows:
o CMD_params = 0x00: Start executing Forward Signalling. Additional data is
present in the CMD_params section for this command -- see below.
o CMD_params = 0x01: Start executing Backward Signalling. No other
information is needed. CMD_params is 1 btye long.
o CMD_params = 0x02: Stop executing MFcR2 signalling. No other information
is needed. CMD_params is 1 byte long.
o CMD_params = 0x03: Reset execution of MFcR2 signalling. No other
information is needed. CMD_params is 1 byte long.
Each of the different formats for CMD_params are defined below:
7.2.7.3.1 MFcR2/EXECUTE - Start Forward Signalling
For this command, the CMD_params section contains the digit strings that
will be requested by the backwards register. The CMD_params section has
the following format:
-89-
112
EVP-SRM (DSP) Software Design Specification 90
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Bits
--------------------------------------------------------------------------------
Byte 7 6 5 4 3 2 1 0
--------------------------------------------------------------------------------
0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
2 Number of digit strings
--------------------------------------------------------------------------------
3 Length of first string
--------------------------------------------------------------------------------
4 first string of digits - 4 bits each
-------- (Round up to the nearest byte)
5
--------------------------------------------------------------------------------
* Length of second string
--------------------------------------------------------------------------------
* Second string of digits - 4 bits each
--------
*
--------------------------------------------------------------------------------
Length of next string
--------------------------------------------------------------------------------
<=31 Last string of digits - 4 bits each
--------------------------------------------------------------------------------
Table 7-44: CMD_params format for MFcR2/EXECUTE -- Start Forward Signalling
Command
7.2.7.3.2 MFcR2/EXECUTE - Start Backward Signalling
For this command, the CMD_params section contains the backward signalling
flag. The number of digits to collect, next digit, and cancel digit
information is all contained in the collection specification.
--------------------------------------------------------------------------------
Bits
--------------------------------------------------------------------------------
Byte 7 6 5 4 3 2 1 0
--------------------------------------------------------------------------------
0 0 0 0 0 0 0 0 1
--------------------------------------------------------------------------------
Table 7-45: CMD_params format for MFcR2/EXECUTE -- Start Backward Signalling
Command
7.2.7.3.3 MFcR2/EXECUTE - Stop MFcR2 Signalling
-90-
113
EVP-SRM (DSP) Software Design Specification 91
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Bits
--------------------------------------------------------------------------------
Byte 7 6 5 4 3 2 1 0
--------------------------------------------------------------------------------
0 0 0 0 0 0 0 1 0
--------------------------------------------------------------------------------
Table 7-46: CMD_params format for MFcR2/EXECUTE -- Stop MFcR2 Signalling
Command
7.2.7.3.4 MFcR2/EXECUTE - Reset MFcR2 Signalling
For this command, the CMD_params section contains the reset flag. Upon
receipt of this command, the DSP will cease MFcR2 signalling, discard any
collected digits, and restart MFcR2 signalling.
-91-
114
EVP-SRM (DSP) Software Design Specification 92
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Bits
--------------------------------------------------------------------------------
Byte 7 6 5 4 3 2 1 0
--------------------------------------------------------------------------------
0 0 0 0 0 0 0 1 1
--------------------------------------------------------------------------------
Table 7-47: CMD_params format for MFcR2/EXECUTE -- Reset .
-------- --------------------- ------------------ ----------------------------
error ID .
-------- --------------------- ------------------ ----------------------------
. .. .
--------------------------------------------------------------------------------
Table 8-17
The error IDs and error values are defined as follows:
--------------------------------------------------------------------------------
Error ID Length Error Name Error value
--------------------------------------------------------------------------------
0x0 1 Collection spec does not exist
--------------------------------------------------------------------------------
0x1 2 Tone group does not exist
--------------------------------------------------------------------------------
0x2 2 Tone specification does not exist
--------------------------------------------------------------------------------
0x3 1 Algorithm not configured
--------------------------------------------------------------------------------
0x4 1 Max channels exceeded
--------------------------------------------------------------------------------
-101-
124
EVP-SRM (DSP) Software Design Specification 102
------------------------------------------------------------------------
--------------------------------------------------------------------------------
0x5 1 Illegal channel
--------------------------------------------------------------------------------
0x6- reserved
0xFF
--------------------------------------------------------------------------------
Table 8-18
8.2.6 Tone Generation (0x5) Status Messages
For the Tone Generation STAT_type, the values for STAT_subtype are as follows:
1. STAT_subtype = OUTPULSE COMPLETE (0x0)
2. STAT_subtype = ERROR (0x1)
The format of each status message follows
8.2.6.1 TONE GENERATION/OUTPULSE COMPLETE (0X50)
The DSP may be required to report completion of an outpulsing of tones.
The format of the Tone Generation/OUTPULSE COMPLETE status message is as
follows:
--------------------------------------------------------------------------------
Byte Field Value Description
================================================================================
1 type/subtype 0x50 Tone Gen/OUTPULSE
COMPLETE
--------------------------------------------------------------------------------
2 channel # 1-63 STAT channel
--------------------------------------------------------------------------------
3 length 3 STAT length
--------------------------------------------------------------------------------
Table 8-19
8.2.6.2 TONE GENERATION/ERROR (0X51)
For this status message, the STAT_params field contains the event flag mask.
-102-
125
EVP-SRM (DSP) Software Design Specification 103
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Byte Field Value Description
================================================================================
1 type/subtype 0x51 Tone Generation/ERRORS
--------------------------------------------------------------------------------
2 channel # 1-63 STAT channel
--------------------------------------------------------------------------------
3 length 4+ STAT length
--------------------------------------------------------------------------------
4 parameters Error ID *see below
--------------------------------------------------------------------------------
Error ID
--------------------------------------------------------------------------------
Table 8-20
The error ID values are defined as follows:
-------------------------------------------------------
Error ID Description
-------------------------------------------------------
0x0 Tone specification does not exist
-------------------------------------------------------
0x1 Algorithm not configured
-------------------------------------------------------
0x2 Illegal channel
-------------------------------------------------------
0x3-0xFF Reserved
-------------------------------------------------------
Table 8-21
8.2.7 MFcR2 Signalling (0x6) Status Messages
For the MFcR2 STAT_type, the values for STAT_subtype are as follows:
1. STAT_subtype = DIGIT REPORT (0x0)
2. STAT_subtype = ERROR (0x3)
The format of each states message follows.
8.2.7.1 MFCR2/DIGIT REPORT (0X60)
For this status message, the STAT_params field contains the event flags, the
number of digits detected, and the digits detected.
-103-
126
EVP-SRM (DSP) Software Design Specification 104
------------------------------------------------------------------------
--------------------------------------------------------------------------------
Byte Field Value Description
================================================================================
1 type/subtype 0x60 MFcR2/DIGIT REPORT
--------------------------------------------------------------------------------
2 channel # 1-63 STAT channel
--------------------------------------------------------------------------------
3 length <= 24 STAT length
--------------------------------------------------------------------------------
4 parameters Event Flags *see below
--------------------------------------------------------------------------------
5 Number of n = 0 to 40
Digits
-------- -----------------------------------------------
6 Digit 1/2 4 bits per digit
-------- -----------------------------------------------
Digit 3/4
-------- -----------------------------------------------
-------- -----------------------------------------------
<= 25 Digit n-1/n
--------------------------------------------------------------------------------
Table 8-22
The event flags are defined as follows:
---------------------------------------------------
Bits
7 6 5 4 3 2 1 0
---------------------------------------------------
0 RA ED CD TDTO PSC IDTO FDTO
---------------------------------------------------
Table 8-23
o FDTO: First digit timeout occurred
o IDTO: Inter digit timeout occurred
o PSC: Permanent signal condition occurred
o TDTO: Total digit timeout occurred
o CD: Cancel digit detected
o ED: End digit detected
o RA: Resource Attached
-104-
127
EVP-SRM (DSP) Software Design Specification 105
------------------------------------------------------------------------
8.2.7.2 MFCR2/ERROR (0X32)
For this status message, the STAT_params field contains the error type.
--------------------------------------------------------------------------------
Byte Field Value Description
================================================================================
1 type/subtype 0x62 MFcR2/ERROR
--------------------------------------------------------------------------------
2 channel # 1-63 STAT channel
--------------------------------------------------------------------------------
3 length 4 STAT length
--------------------------------------------------------------------------------
4 parameters Error Code *see below
--------------------------------------------------------------------------------
Table 8-24
-105-