1、 ETSI TS 126 268 V14.0.0 (2017-04) Digital cellular telecommunications system (Phase 2+) (GSM); Universal Mobile Telecommunications System (UMTS); eCall data transfer; In-band modem solution; ANSI-C reference code (3GPP TS 26.268 version 14.0.0 Release 14) floppy3TECHNICAL SPECIFICATION GLOBAL SYSTE
2、M FOR MOBILE COMMUNICATIONSRETSI ETSI TS 126 268 V14.0.0 (2017-04)13GPP TS 26.268 version 14.0.0 Release 14Reference RTS/TSGS-0426268ve00 Keywords GSM,UMTS ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N 348 623 562 00017 - N
3、AF 742 C Association but non lucratif enregistre la Sous-Prfecture de Grasse (06) N 7803/88 Important notice The present document can be downloaded from: http:/www.etsi.org/standards-search The present document may be made available in electronic versions and/or in print. The content of any electron
4、ic and/or print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) v
5、ersion kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at https:/portal.etsi.org/TB/ETSIDeliverabl
6、eStatus.aspx If you find errors in the present document, please send your comment to one of the following services: https:/portal.etsi.org/People/CommiteeSupportStaff.aspx Copyright Notification No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including ph
7、otocopying and microfilm except as authorized by written permission of ETSI. The content of the PDF version shall not be modified without the written authorization of ETSI. The copyright and the foregoing restriction extend to reproduction in all media. European Telecommunications Standards Institut
8、e 2017. All rights reserved. DECTTM, PLUGTESTSTM, UMTSTMand the ETSI logo are Trade Marks of ETSI registered for the benefit of its Members. 3GPPTM and LTE are Trade Marks of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners. GSM and the GSM logo are Trade Marks
9、registered and owned by the GSM Association. ETSI ETSI TS 126 268 V14.0.0 (2017-04)23GPP TS 26.268 version 14.0.0 Release 14Intellectual Property Rights IPRs essential or potentially essential to the present document may have been declared to ETSI. The information pertaining to these essential IPRs,
10、 if any, is publicly available for ETSI members and non-members, and can be found in ETSI SR 000 314: “Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in respect of ETSI standards“, which is available from the ETSI Secretariat. Latest updates are avail
11、able on the ETSI Web server (https:/ipr.etsi.org/). Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are
12、, or may be, or may become, essential to the present document. Foreword This Technical Specification (TS) has been produced by ETSI 3rd Generation Partnership Project (3GPP). The present document may refer to technical specifications or reports using their 3GPP identities, UMTS identities or GSM ide
13、ntities. These should be interpreted as being references to the corresponding ETSI deliverables. The cross reference between GSM, UMTS, 3GPP and ETSI identities can be found under http:/webapp.etsi.org/key/queryform.asp. Modal verbs terminology In the present document “shall“, “shall not“, “should“,
14、 “should not“, “may“, “need not“, “will“, “will not“, “can“ and “cannot“ are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for the expression of provisions). “must“ and “must not“ are NOT allowed in ETSI deliverables except when used in direct citation. ETSI E
15、TSI TS 126 268 V14.0.0 (2017-04)33GPP TS 26.268 version 14.0.0 Release 14Contents Intellectual Property Rights 2g3Foreword . 2g3Modal verbs terminology 2g3Foreword . 4g31 Scope 5g32 References 5g33 Abbreviations . 5g34 C code structure 5g34.1 Contents of the C source code 6g34.2 Program execution 7g
16、34.3 Variables, constants and tables . 9g34.3.1 Description of constants used in the C-code . 9g34.3.2 Type Definitions . 10g34.3.3 Description of fixed tables used in the C-code . 14g34.3.4 Static variables used in the C-code . 15g34.4 Functions of the C Code . 15g34.4.1 Interface functions 16g34.4
17、.2 IVS transmitter functions 18g34.4.3 PSAP receiver functions . 19g34.4.4 PSAP transmitter functions. 22g34.4.5 IVS receiver functions 22g34.4.6 Synchronization functions (IVS and PSAP) . 22g34.4.7 Control link functions . 24g34.4.8 Other utility functions (IVS and PSAP) 26g3Annex A (informative):
18、Change history . 27g3History 28g3ETSI ETSI TS 126 268 V14.0.0 (2017-04)43GPP TS 26.268 version 14.0.0 Release 14Foreword The present document has been produced by the 3rdGeneration Partnership Project (3GPP). The contents of the present document are subject to continuing work within the TSG and may
19、change following formal TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an identifying change of release date and an increase in version number as follows: Version x.y.z where: x the first digit: 1 presented to TSG for information; 2 p
20、resented to TSG for approval; 3 or greater indicates TSG approved document under change control. y the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections, updates, etc. z the third digit is incremented when editorial only changes have been incorporated
21、 in the document. ETSI ETSI TS 126 268 V14.0.0 (2017-04)53GPP TS 26.268 version 14.0.0 Release 141 Scope The present document contains an electronic copy of the ANSI-C code for the eCall in-band modem solution for reliable transmission of MSD data from IVS to PSAP via the speech channel of cellular
22、networks. The ANSI-C code is necessary for a bit exact implementation of the IVS modem and PSAP modem described in 3GPP TS 26.267 1. 2 References The following documents contain provisions which, through reference in this text, constitute provisions of the present document. References are either spe
23、cific (identified by date of publication, edition number, version number, etc.) or non-specific. For a specific reference, subsequent revisions do not apply. For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including a GSM document), a non-spec
24、ific reference implicitly refers to the latest version of that document in the same Release as the present document. 1 3GPP TS 26.267: “eCall Data Transfer; In-band modem solution; General description“. See also the references in 3GPP TS 26.267 1. 3 Abbreviations For the purpose of the present docum
25、ent, the following abbreviations apply: ACK ACKnowledgement ANSI American National Standards Institute CRC Cyclic Redundancy Check FEC Forward Error Correction GSM Global System for Mobile communications HARQ Hybrid Automatic Repeat-reQuest I/O Input/Output IVS In-Vehicle System MSD Minimum Set of D
26、ata NACK Negative ACKnowledgement PCM Pulse Code Modulation PSAP Public Safety Answering Point RAM Random Access Memory ROM Read Only Memory RX Receive TX Transmit4 C code structure This clause gives an overview of the structure of the bit-exact C code and provides an overview of the contents and or
27、ganization of the C code attached to the present document. The C code has been verified on the following systems: Windows XP SP2 and Microsoft Visual Studio V8.0; Linux (Suse Linux) using the gcc v3.4.2 and v4.1.2 compilers. ETSI ETSI TS 126 268 V14.0.0 (2017-04)63GPP TS 26.268 version 14.0.0 Releas
28、e 144.1 Contents of the C source code The distributed files with suffix “c“ contain the source code and the files with suffix “h“ are the header files. Further explanation on the files is given in the Readme.txt file, which is reproduced in part here: Package Contents - folder ecall: Contains the co
29、mplete eCall ANSI C fixed-point reference source code. modem_ivs.c : top-level modem implementation for IVS modem_psap.c : top-level modem implementation for PSAP modemx.h : header file for both modem_ivs.c and modem_psap.c ecall_defines.h : compile time options and preprocessor constants ecall_cont
30、rol.h : header file control message handling ecall_fec.h : header file FEC encoder and decoder ecall_modem.h : header file modulator and demodulator ecall_sync.h : header file synchronization ecall_rom.h : header file ROM data ecall_control.c : control message handling ecall_fec.c : FEC encoder and
31、decoder ecall_modem.c : modulator and demodulator ecall_sync.c : synchronization ecall_rom.c : ROM data folder test_setup: Contains the eCall software simulation framework, to be compiled and run on MS Windows systems. folder test_vec: Contains binary PCM data (104 files) and receiver/transmitter po
32、rt logs in ASCII format (104 files) to test the eCall IVS and PSAP modems. The PCM format is 16 bit signed, little endian, at 8 kHz sampling rate. The data files reflect 26 test cases and were generated from the eCall simulation framework. campaign_short.txt : configuration file for the 26 test case
33、s pcmdlout.pcm : output PCM data of DL vocoder = input to IVS pcmulout.pcm : output PCM data of UL vocoder = input to PSAP pcmdlin.pcm : test vectors for PSAP modem output pcmulin.pcm : test vectors for IVS modem output portivsrx.txt : test vectors for IVS port logs (receiver) portivstx.txt : test v
34、ectors for IVS port logs (transmitter) portpsaprx.txt : test vectors for PSAP port logs (receiver) portpsaptx.txt : test vectors for PSAP port logs (transmitter) standalone.c main() wrapper to run the IVS or PSAP modem on prestored PCM files or receiver/transmitter port logs. To get a list of comman
35、d-line options, invoke the corresponding executable with option -h (help). standalone.h header file for standalone.c Makefile.win ETSI ETSI TS 126 268 V14.0.0 (2017-04)73GPP TS 26.268 version 14.0.0 Release 14NMAKE Makefile for Microsoft Visual Studio 2005 and above: Builds standalone.exe from stand
36、alone.c and the eCall sources, build options are RELEASE and DEBUG. Makefile.glx GNU Linux Makefile using gcc Builds standalone from standalone.c and the eCall sources, build options are RELEASE and DEBUG. verify.bat Windows batch file Runs standalone.exe in six different modem modes on the 26 test
37、cases contained in folder test_vec and performs a test vector comparison to the respective output PCM and port log data. verify.sh Linux shell script Runs standalone in mode -m ivs and -m psap on 26 test cases (folder pcm) and performs a test vector comparison to the respective modem output PCM data
38、. 4.2 Program execution An explanation on code compilation and execution is given in the readme.txt file, which is reproduced in part here: Getting Started - 3GPP TS 26.268 provides the eCall modem source code, a software simulation framework, and a standalone wrapper that allows to run the IVS or P
39、SAP modem on prestored reference data. The following functions represent the eCall modem interface and invoke the respective receiver and transmitter implementation of each modem: * void IvsReset(const Ord8 *msd, int length); * void IvsProcess(Int16 *pcm); * void IvsSendStart(void); * void PsapReset
40、(void); * void PsapProcess(Int16 *pcm); * void PsapSendStart(void); * void PsapSendHlack(const Ord8 data); The external application must in addition implement the callback functions: * void IvsCatchEvent(IvsEvent ie); * void IvsReceiveAck(void); * void IvsReceiveHlack(const Ord8 data); * void PsapCa
41、tchEvent(PsapEvent pe); * void PsapReceiveMsd(const Ord8 *msd, int length); * void Abort(const char *format, .); * void LogInfo(const char *format, .); IvsCatchEvent and PsapCatchEvent inform about relevant modem events and can be used to perform actions such as muting or unmuting of the voice chann
42、el. The other callback functions indicate. * IvsReceiveAck : reception of the lower-layer ACK, * IvsReceiveHlack : reception of the HLACK message, * PsapReceiveMsd : successful MSD reception. ETSI ETSI TS 126 268 V14.0.0 (2017-04)83GPP TS 26.268 version 14.0.0 Release 14Abort and LogInfo should impl
43、ement a variadic error and printlog handler, respectively. See standalone.c for sample implementations of all callback functions. For a real-time simulation over 3GPP FR and AMR vocoders and to log PCM data as input to the standalone wrapper, the eCall sources have to be integrated into a simulation
44、 framework; folder test_setup contains the one as used in the 3GPP selection tests. In order to compile and run the eCall modem code, follow the instructions given below. For code testing, two batch files have been provided: * verify.bat : MS Windows systems * verify.sh : Linux systems For each of t
45、he 26 test cases of campaign_short.txt in folder test_vec, they run the standalone wrapper in six different modem modes (three IVS and three PSAP modes). The resulting PCM and port log files in folder out are finally compared to the test vectors in folder test_vec. In modes psap and psaprx, you shou
46、ld see an MSD success message at the end of each test case. Code Compilation - MS Windows systems Compilation assumes an installation of MS Visual Studio 2005 or above. To set the environment variables for building, run vcvars32.bat which should be contained in the bin subfolder of your VC installat
47、ion. To build standalone.exe from standalone.c and the eCall sources (or to perform cleanup), run nmake /f Makefile.win nmake /f Makefile.win clean The source code should compile without any errors or warnings. Run verify.bat to verify the executable against the test vectors. GNU Linux systems Compi
48、lation under Linux has been tested with * GNU Make version 3.81 * gcc version 4.1.3 and 4.2.4 For building the executable standalone and cleanup, use make -f Makefile.glx make -f Makefile.glx clean On the platforms tested, the code compiled without errors or warnings. Run verify.sh to verify the exe
49、cutable against the test vectors. Simulation Framework - The eCall software simulation framework is provided in folder test_setup. Important remarks: * See LICENSE.TXT and README.TXT for terms of usage! * The G.711 software is part of ITU-T Rec. G.191, (C) ITU 2000. Distributed with the authorization of ITU as part of the test setup software for 3GPP TS 26.268. * The framework must be compiled and run on MS Windows systems, as