2.1 CPS Phonebook File
The CPS phonebook file is stored as an ASCII text file. It contains zero or more POP entries that are separated by a line feed/carriage return.
If there are zero POP entries in the phonebook file, then processing of the phonebook file SHOULD gracefully stop without attempting to read the POP entries.
Each POP entry consists of a sequence of POP entry fields that are separated by a comma ",". Each POP entry MUST have 10 or 11 commas (the eleventh comma is optional). If the number of commas in a POP entry is less than 10, all subsequent POP entries MUST be ignored. If the number of commas in a POP entry is more than 11, all the POP entries in the CPS phonebook file MUST be ignored.
A POP entry contains the following fields in the following order. All the entries are represented as string values in the ASCII CPS phonebook file:
POP Index: This field MUST be an unsigned integer value that is represented as an ASCII string. The POP Index field is optional. If the POP Index contains characters other than numbers (0-9), this POP entry and all the subsequent POP entries MUST be ignored.
Country Code: This field MUST be an unsigned integer value that is represented as an ASCII string, as specified in [E164]. This field is the code for the country to which the user wants to make a dial-up connection. For example, the country code would be "1" for United States or "91" for India. This field MUST be present. This POP entry MUST be ignored if the country code is not present. All POP entries in the CPS phonebook file MUST be ignored if the Country Code has a nonnumeric character.
Region Id: An index of the region name in the region file. This field MUST be an unsigned integer value that is represented as an ASCII string. This field is optional. The index starts with 1 (1-based), which corresponds to the first region name. Index 2 corresponds to the second region name. A value of zero identifies all regions. If the Region Id fails to identify a region, because the Region Id is beyond the number of regions in the file, the POP entry MUST still be processed but without any region information. All POP entries in the CPS phonebook file MUST be ignored if the Region Id has a nonnumeric character.
POP Name: The name of the POP entry. All ASCII characters are allowed in the POP Name except the comma ",". This field is optional and, if present, MUST have a maximum length of 31 characters. If the length of the POP Name exceeds 31 characters, the first 31 characters MUST be read as the POP Name and the remaining characters of the POP Name MUST be treated as the next field. However, in this case, all the subsequent POP entries MUST be ignored.
Area Code: This field denotes the telephonic area code within the designated country code for the access number. This field MUST be an unsigned integer value that is represented as an ASCII string. This field is optional and if present, MUST have a maximum length of 11 characters and MUST contain zero or more numbers (0-9). If the length exceeds 11 characters, the first 11 characters MUST be read as the Area Code and the remaining characters MUST be treated as the next field. However, in this case, all the subsequent POP entries MUST be ignored. If the Area Code contains non-numeric characters, it MUST be ignored.
Access Number: This field denotes the phone number that is used to dial the connection. This field MUST be present and MUST include one or more numbers (0-9), and zero or more number signs "#", asterisks "*", hyphens "-", or spaces " ". If this field is not present, the CPS phonebook file is still parsed, but actual dialing of the dial-up connection will fail. This field MUST have a maximum length of 41 characters. If the length exceeds 41 characters, the first 41 characters MUST be read as the Access Number and the remaining characters MUST be treated as the next field. However, in this case, all the subsequent POP entries MUST be ignored. If the Access Number field contains any characters outside of the allowed list stated above, it MUST still be read, but dialing of the number might fail.
Minimum Analog Speed: This field denotes the minimum analog speed, in kilobits per second, of the modem or Integrated Services Digital Network (ISDN) line. This field is optional and, if present, MUST be an unsigned integer value that is represented as an ASCII string. All the POP entries in the CPS phonebook file MUST be ignored if the Minimum Analog Speed has a nonnumeric character.
Maximum Analog Speed: This field denotes the maximum analog speed, in kilobits per second, of the modem or ISDN line. This field is optional and, if present, MUST be an unsigned integer value that is represented as an ASCII string. All the POP entries in the CPS phonebook file MUST be ignored if the Maximum Analog Speed has a nonnumeric character.
Reserved Flag: This optional field is reserved. If present, this field MUST be zero or a positive number that is represented as an ASCII string. If the Reserved Flag is a negative number or has a nonnumeric character, all the POP entries in the CPS phonebook file MUST be ignored.
POP Flag: This field is a set of flags that are used to specify the properties of the POP entry. If the POP Flag is a negative number or has a nonnumeric character, all the POP entries in the CPS phonebook file MUST be ignored. This field is optional and, if not present, MUST default to zero.
-
The POP Flag is the decimal representation of the bit sequence that consists of the following flags:
Sign on: This POP Flag denotes that the user MUST authenticate each time the user dials the connection. This POP Flag MUST be zero. Otherwise, this POP entry MUST be ignored.
Sign up: This POP Flag denotes that the POP allows the user to sign up for an account with the service provider.
Modem: This POP Flag denotes that the user can make the connection by using a modem.
ISDN: This POP Flag denotes that the user can dial the connection by using an ISDN line.
Custom 1: This reserved flag SHOULD be zero and MUST be ignored by the DUN client for any value of this flag.
Multicast: This POP Flag denotes that POP supports transport of IP multicast datagrams over the dial-up connection.
Surcharge: This POP Flag denotes that the service provider can charge the user a surcharge for connecting to this POP.
Custom 2: This reserved flag MUST be zero and ignored on receipt.
-
The bit representation of the POP Flag is as follows.
-
Bit number
POP Flag name
Bit value and description
0 (LSB)
Sign On
0 - Sign On
1 - Not Sign On
1
Sign Up
0 - Not Sign Up
1 - Sign Up
2
Modem
0 - Modem
1 - Not Modem
3
ISDN
0 - ISDN
1 - Not ISDN
4
Custom 1
Reserved flag, SHOULD be zero and MUST be ignored
5
Multicast
0 - Multicast
1 - Not Multicast
6
Surcharge
0 - Not Surcharge
1 - Surcharge
7
Custom 2
Reserved flag, must be zero and ignored
Dialup Networking Name: The display name of the POP entry that can be used by the dial-up networking client to correlate any additional information with that POP entry. This optional field has a maximum length of 50 characters. All ASCII characters MUST be allowed in the Dialup Networking Name.
-
If the length exceeds 50 characters, the first 50 characters MUST be read as the Dialup Networking Name and the remaining characters MUST be ignored.
-
The Dialup Networking Name is terminated by a line feed/carriage return "\LF\CR\" or a comma ",".