1、 ETSI TS 126 268 V15.0.0 (2018-07) 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 15.0.0 Release 15) TECHNICAL SPECIFICATION GLOBAL SYSTEM FOR M
2、OBILE COMMUNICATIONSRETSI ETSI TS 126 268 V15.0.0 (2018-07)13GPP TS 26.268 version 15.0.0 Release 15Reference RTS/TSGS-0426268vf00 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 - NAF 742
3、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 electronic and/
4、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) version
5、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/ETSIDeliverableStatus
6、.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 photocopy
7、ing 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. ETSI 2018. All rights reserved. DECTTM, PLUGTESTSTM,
8、UMTSTMand the ETSI logo are trademarks of ETSI registered for the benefit of its Members. 3GPPTM and LTETMare trademarks of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners. oneM2M logo is protected for the benefit of its Members. GSMand the GSM logo are tradema
9、rks registered and owned by the GSM Association. ETSI ETSI TS 126 268 V15.0.0 (2018-07)23GPP TS 26.268 version 15.0.0 Release 15Intellectual Property Rights Essential patents IPRs essential or potentially essential to normative deliverables may have been declared to ETSI. The information pertaining
10、to these essential IPRs, 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.
11、Latest updates are available 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 ET
12、SI Web server) which are, or may be, or may become, essential to the present document. Trademarks The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners. ETSI claims no ownership of these except for any which are indicated as being the prop
13、erty of ETSI, and conveys no right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks. Foreword This Technical Specification (TS) ha
14、s 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 identities. These should be interpreted as being references to the corresponding ETSI deliverables. The cross r
15、eference 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“, “should not“, “may“, “need not“, “will“, “will not“, “can“ and “cannot“ are to be interpreted as described
16、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 ETSI TS 126 268 V15.0.0 (2018-07)33GPP TS 26.268 version 15.0.0 Release 15Contents Intellectual Property Righ
17、ts 2g3Foreword . 2g3Modal verbs terminology 2g3Foreword . 4g31 Scope 5g32 References 5g33 Abbreviations . 5g34 C code structure 5g34.1 Contents of the C source code 5g34.2 Program execution 7g34.3 Variables, constants and tables . 9g34.3.1 Description of constants used in the C-code . 9g34.3.2 Type
18、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.2 IVS transmitter functions 18g34.4.3 PSAP receiver functions . 19g34.4.4 PSAP transmitter functions. 22g34
19、.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): Change history . 27g3History 28g3ETSI ETSI TS 126 268 V15.0.0 (2018-07)43GPP TS 26.268 version 15.0.0 Releas
20、e 15Foreword 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 change following formal TSG approval. Should the TSG modify the contents of the present document, it will be
21、 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 presented to TSG for approval; 3 or greater indicates TSG approved document under change control. y the secon
22、d 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 in the document. ETSI ETSI TS 126 268 V15.0.0 (2018-07)53GPP TS 26.268 version 15.0.0 Release 151 Scope The
23、 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 networks. The ANSI-C code is necessary for a bit exact implementation of the IVS modem and PSAP modem descri
24、bed 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 specific (identified by date of publication, edition number, version number, etc.) or non-specific. - For a s
25、pecific 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-specific reference implicitly refers to the latest version of that document in the same Release as the pre
26、sent 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 document, the following abbreviations apply: ACK ACKnowledgement ANSI American National Standards Institute
27、 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 Data NACK Negative ACKnowledgement PCM Pulse Code Modulation PSAP Public Safety Answering Point RAM Ran
28、dom 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 organization of the C code attached to the present document. The C code has been verified on the followi
29、ng systems: - Windows XP SP2 and Microsoft Visual Studio V8.0; - Linux (Suse Linux) using the gcc v3.4.2 and v4.1.2 compilers. 4.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. ETSI ETSI TS 126 268 V15.
30、0.0 (2018-07)63GPP TS 26.268 version 15.0.0 Release 15Further explanation on the files is given in the Readme.txt file, which is reproduced in part here: Package Contents - folder ecall: Contains the complete eCall ANSI C fixed-point reference source code. modem_ivs.c : top-level modem implementatio
31、n 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_control.h : header file control message handling ecall_fec.h : header file FEC encoder and decoder eca
32、ll_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 decoder ecall_modem.c : modulator and demodulator ecall_sync.c : synchronization ecall_rom.c : ROM
33、 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 port logs in ASCII format (104 files) to test the eCall IVS and PSAP modems. The PCM format is 16 bi
34、t 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 cases pcmdlout.pcm : output PCM data of DL vocoder = input to IVS pcmulout.pcm : output PCM data of UL
35、 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 vectors for IVS port logs (transmitter) portpsaprx.txt : test vectors for PSAP port logs (receiver)
36、 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 command-line options, invoke the corresponding executable with option -h (help). standalone.h header fil
37、e for standalone.c Makefile.win NMAKE Makefile for Microsoft Visual Studio 2005 and above: Builds standalone.exe from standalone.c and the eCall sources, build options are RELEASE and DEBUG. ETSI ETSI TS 126 268 V15.0.0 (2018-07)73GPP TS 26.268 version 15.0.0 Release 15Makefile.glx GNU Linux Makefil
38、e 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 cases contained in folder test_vec and performs a test vector comparison to the respective output
39、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. 4.2 Program execution An explanation on code compilation and execution is given in the readme.tx
40、t 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 PSAP modem on prestored reference data. The following functions represent the eCall modem interface
41、 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(void); * void PsapProcess(Int16 *pcm); * void PsapSendStart(void); * void PsapSendHlack(const Ord
42、8 data); The external application must in addition implement the callback functions: * void IvsCatchEvent(IvsEvent ie); * void IvsReceiveAck(void); * void IvsReceiveHlack(const Ord8 data); * void PsapCatchEvent(PsapEvent pe); * void PsapReceiveMsd(const Ord8 *msd, int length); * void Abort(const cha
43、r *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 channel. The other callback functions indicate. * IvsReceiveAck : reception of the lower-layer ACK, * I
44、vsReceiveHlack : reception of the HLACK message, * PsapReceiveMsd : successful MSD reception. Abort and LogInfo should implement a variadic error and printlog handler, respectively. See standalone.c for sample implementations of all callback functions. ETSI ETSI TS 126 268 V15.0.0 (2018-07)83GPP TS
45、26.268 version 15.0.0 Release 15For 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 framework; folder test_setup contains the one as used in the 3GPP selection tests. In order to co
46、mpile 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 the 26 test cases of campaign_short.txt in folder test_vec, they run the standalone wrapper in six
47、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 should see an MSD success message at the end of each test case. Code Compilation - MS Windows systems
48、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 installation. To build standalone.exe from standalone.c and the eCall sources (or to perform cleanup), run
49、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 Compilation 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 war