Professional Documents
Culture Documents
New SPC Code Support For China Telecom (CR662522) : Technical Memo
New SPC Code Support For China Telecom (CR662522) : Technical Memo
New SPC Code Support For China Telecom (CR662522) : Technical Memo
Restricted Distribution: Not to be distributed to anyone who is not an employee of either Qualcomm or its
subsidiaries without the express approval of Qualcomm’s Configuration Management.
Not to be used, copied, reproduced, or modified in whole or in part, nor its contents revealed in any manner to others
without the express written permission of Qualcomm Technologies, Inc.
Qualcomm reserves the right to make changes to the product(s) or information contained herein without notice. No
liability is assumed for any damages arising directly or indirectly by their use or application. The information
provided in this document is provided on an “as is” basis.
This document contains confidential and proprietary information and must be shredded when discarded.
Qualcomm is a trademark of QUALCOMM Incorporated, registered in the United States and other countries. All
QUALCOMM Incorporated trademarks are used with permission. Other product and brand names may be
trademarks or registered trademarks of their respective owners.
This technical data may be subject to U.S. and international export, re-export, or transfer (“export”) laws. Diversion
contrary to U.S. and international law is strictly prohibited.
1 Introduction...................................................................................................... 5
1.1 Purpose.......................................................................................................................... 5
1.2 Scope............................................................................................................................. 5
1.3 Conventions .................................................................................................................. 5
1.4 References..................................................................................................................... 5
1.5 Technical assistance ...................................................................................................... 6
1.6 Acronyms ...................................................................................................................... 6
Tables
Table 1-1 Reference documents and standards ............................................................................................ 5
2 1.1 Purpose
3 An issue has arisen in which, because Service Programming Code (SPC) 17 has been adopted by
4 Mobile Virtual Network Operators (MVNOs), devices send a called number as 017xxxxxxxxx
5 when users dial +8617xxxxxxxxx, resulting in call failure. This document discusses the issue and
6 provides a fix.
7 1.2 Scope
8 This document is intended for software engineers who are working on CDMA-based products
9 with this requirement.
10 1.3 Conventions
11 Function declarations, function names, type declarations, and code samples appear in a different
12 font, e.g., #include.
13 If you are viewing this document using a color monitor, or if you print this document to a color
14 printer, red boldface indicates code that is to be added, and blue strikethrough indicates code
15 that is to be replaced or removed.
16 1.4 References
17 Reference documents are listed in Table 1-1. Reference documents that are no longer applicable
18 are deleted from this table; therefore, reference numbers may not be sequential.
Ref. Document
Qualcomm Technologies
Q1 Application Note: Software Glossary for Customers CL93-V3077-1
Q2 Plus Code Dialing HPCD Table Information 80-VK925-1
6 1.6 Acronyms
7 For definitions of terms and abbreviations, see [Q1].
2 This chapter provides code changes to address addition of SPC code 17 ([CR662522]).
13 2.2 Analysis
14 When the call manager receives an MO call or SMS requirement from a client, function
15 cmutil_replace_plus_with_digits() determines if the SPC value matches any in the country_list[]
16 table when the “+” code is in the called number. With the new SPC code adopted by CT,
17 +17xxxxxxxx may be dialed but cannot be matched with any listed values. NDD 0 will be added.
18 Then the called party number 017xxxxxxxxx is dialed out and is not supported by CT network.
19
20 country_specific_record_s country_list[ ] =
21 {
22 /* Sid range cc idd spc ndd Network
23 solution MCC*/
24 { 13568, 14335, 86, "00", "13", "0", NETWORK_SOLUTION_ABSENT, 460 }, /*
25 China 13568*/
26 { 25600, 26111, 86, "00", "13", "0", NETWORK_SOLUTION_ABSENT, 460 }, /*
27 China 25600*/
28 { 13568, 14335, 86, "00", "15", "0", NETWORK_SOLUTION_ABSENT, 460 }, /*
29 China 13568*/
30 { 25600, 26111, 86, "00", "15", "0", NETWORK_SOLUTION_ABSENT, 460 }, /*
31 China 25600*/
32 { 13568, 14335, 86, "00", "18", "0", NETWORK_SOLUTION_ABSENT, 460 }, /*
33 China 13568*/
34 { 25600, 26111, 86, "00", "18", "0", NETWORK_SOLUTION_ABSENT, 460 }, /*
35 China 25600*/
36 }
8 2.4.1 Change 1
9 File: cmutil.c
10 Function: cmutil_conver_result_e_type cmutil_replace_plus_with_digits()
11 Add the following code shown in red at the end of the function.
/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
/* If outgoing number starts with serving country code, use NDD or SPC */
if( cmutil_number_cmp( num_with_plus_ptr,
(size_t)pos_of_first_digit,
serving_cc_str,
strlen(serving_cc_str)))
{
/*If current serving mcc is china, we need to replace plus with IDD */
if ( serving_mcc == CMUTIL_MCC_OF_CHINA)
{
if( ((int) strlen (country_list[loop].inter_dialed_digits)) >
(int)CMUTIL_PLUS_REPL_DIGIT_LEN )
{
CM_ERR_0 ("conversion_digits_len exceeds buffer size");
conversion_digits_len = memscpy ( conversion_digits,
sizeof(conversion_digits),
country_list[loop].inter_dialed_digits,
(size_t)CMUTIL_PLUS_REPL_DIGIT_LEN );
}
else
{
/* Replace plus with IDD */
conversion_digits_len = memscpy ( conversion_digits,
sizeof(conversion_digits),
country_list[loop].inter_dialed_digits,
(int) strlen
(country_list[loop].inter_dialed_digits) );
1 2.4.2 Change 2
2 File: cmutil.h
3 Add new micro define CMUTIL_MCC_OF_CHINA.
#define CMUTIL_PLUS_REPL_DIGIT_LEN 6
/* Len of digits that can replace plus */
#define CMUTIL_IDD_DIGIT_LEN 6
/* Len of international dialed digit*/