📄 rfc2806.txt
字号:
parameters to this URL scheme. See section 2.5.11. The <private-prefix>, <token-char> and <quoted-string> nonterminals may seem a bit complex at first, but they simply describe the set of octets that are legal in those nonterminals. Some octets may have to be escaped, see [RFC2396].2.3 "fax" URL scheme The URL syntax is formally described as follows (the definition reuses nonterminals from the above definition). For the basis of this syntax, see [RFC2303] and [RFC2304]. fax-url = fax-scheme ":" fax-subscriber fax-scheme = "fax" fax-subscriber = fax-global-phone / fax-local-phone fax-global-phone = "+" base-phone-number [isdn-subaddress] [t33-subaddress] [post-dial] *(area-specifier / service-provider / future-extension) fax-local-phone = 1*(phonedigit / dtmf-digit / pause-character) [isdn-subaddress] [t33-subaddress] [post-dial] area-specifier *(area-specifier / service-provider / future-extension) t33-subaddress = ";tsub=" 1*phonedigit The fax: URL is very similar to the tel: URL. The main difference is that in addition to ISDN subaddresses, telefaxes also have an another type of subaddress, see section 2.5.8.2.4 "modem" URL scheme The URL syntax is formally described as follows (the definition reuses nonterminals from the above definitions). For the basis of this syntax, see [RFC2303].Vaha-Sipila Standards Track [Page 6]RFC 2806 URLs for Telephone Calls April 2000 modem-url = modem-scheme ":" remote-host modem-scheme = "modem" remote-host = telephone-subscriber *(modem-params / recommended-params) modem-params = ";type=" data-capabilities recommended-params = ";rec=" data-capabilities data-capabilities = accepted-modem ["?" data-bits parity stop-bits] accepted-modem = "V21" / "V22" / "V22b" / "V23" / "V26t" / "V32" / "V32b" / "V34" / "V90" / "V110" / "V120" / "B103" / "B212" / "X75" / "vnd." vendor-name "." modem-type data-bits = "7" / "8" parity = "n" / "e" / "o" / "m" / "s" stop-bits = "1" / "2" vendor-name = 1*(ALPHA / DIGIT / "-" / "+") modem-type = 1*(ALPHA / DIGIT / "-" / "+") The modem: URL scheme is also very similar to both the tel: and fax: schemes, but it adds the description of the capabilities of the remote entity. Minimum required compliance is listed in <modem- params> and recommended compliance is listed in <recommended-params>. For details, see section 2.5.9.2.5 Parsing telephone, fax and modem URLs2.5.1 Call type The type of call is specified by the scheme specifier. "Tel" means that a voice call is opened. "Fax" indicates that the call should be a facsimile (telefax) call. "Modem" means that it should be a data call. Not all networks differentiate between the types of call; in this case, the scheme specifier indicates the telecommunications equipment type to use.2.5.2 Phone numbers and their scope <telephone-subscriber> and <fax-subscriber> indicate the phone number to be dialed. The phone number can be written in either international or local notation. All phone numbers SHOULD always be written in the international form if there is no good reason to use the local form. Not all numbers are valid within all numbering areas. The <area- specifier> parameter, which is mandatory for local numbers, is used to indicate the locale within which this number is valid, or to qualify the phone number so that it may be used unambiguously. TheVaha-Sipila Standards Track [Page 7]RFC 2806 URLs for Telephone Calls April 2000 <area-specifier> can take three forms: <global-network-prefix>, <local-network-prefix> or <private-prefix>. These are used to describe the validity area of the phone number either in global numbering plan, local numbering plan, or in a private numbering plan, respectively. If <area-specifier> is present, the local entity MUST NOT attempt to call out using the phone number if it cannot originate the call within the specified locale. If a <local-phone-number> is used, an <area-specifier> MUST be included as well. There can be multiple instances of <area-specifier>. In this case, the number is valid in all of the given numbering areas. The global prefix form is intended to act as the outermost context for a phone number, so it will start with a "+", followed by some part of an E.164 number. It also specifies the region in which the phone number is valid. For example, if <global-network-prefix> is "+358", the given number is valid only within Finland (country code 358) - even if it is a <global-phone-number>. The local prefix form is intended to act as an intermediate context in those situations where the outermost context for a phone number is given by another means. One example of use is where the local entity is known to originate calls only within the North American Number Plan Area, so an "outermost" phone context can be assumed. The local context could, for example, be used to indicate the area code within which an associated phone number is situated. Thus "tel:456- 7890;phone-context=213" would suffice to deliver a call to the telephone number "+1-213-456-7890". Note that the version including the <phone-context> implies further that the call can only be originated within the "area code 213" region. The <private-prefix> form is intended for use in those situations where the context cannot be expressed with a start of a global phone number or a dialing string. The <private-prefix> is actually a name of a private context. The creator of the URL and the local entity have been configured to recognize this name, and as such they can interpret the number and know how they can utilize the number. For example, a private network numbering plan may be indicated by the name "X-COMPANY-NET", but the private dialling plan from the locales of the sender of the telephony URL and the local entity are different. The syntax of these tokens will be left for future specification. The ABNF above specifies the accepted characters that can be a part of <private-prefix>.Vaha-Sipila Standards Track [Page 8]RFC 2806 URLs for Telephone Calls April 2000 Unless the sender is absolutely sure that they share the same private network access digit string with the local entity, then they MUST NOT use a dialling plan number (a local phone number, or one qualified by a local context), as the result may be incorrect. Instead, they SHOULD use a global number, or if that is not possible, a private context as the last resort. If the local entity does not support dialling into the private network indicated by that context, then the request MUST be rejected. If it does, then it will use the access digit string appropriate for its locale. Note that the use of <area-specifier> is orthogonal to use of the telephony service provider parameter (see 2.5.10); it qualifies the phone number, whilst the <service-provider> parameter indicates the carrier to be used for the call attempt. For example, a large company may have private network interconnections between its sites, as well as connections to the Global Switched Telephone Network. A phone number may be given in "public network" form, but with a <service-provider> indicating that the call should be carried over the corporate network. Conversely, it would be possible to represent a phone number in private network form, with a private context to indicate this, but indicate a public telephony service provider. This would request that the user agent convert the private network number plan address into a form that can be carried using the selected service provider. Any telephone number MUST contain at least one <phonedigit> or <dtmf-digit>, that is, subscriber numbers consisting only of pause characters are not allowed. International numbers MUST begin with the "+" character. Local numbers MUST NOT contain that character. International numbers MUST be written with the country (CC) and national (NSN) numbers as specified in [E.123] and [E.164]. International numbers have the property of being totally unambiguous everywhere in the world if the local entity is properly configured. Local numbers MAY be used if the number only works from inside a certain geographical area or a network. Note that some numbers may work from several networks but not from the whole world - these SHOULD be written in international form, with a set of <area- specifier> tags and optional <service-provider> parameters. URLs containing local phone numbers should only appear in an environment where all local entities can get the call successfully set up by passing the number to the dialing entity "as is". An example could be a company intranet, where all local entities are located under a the same private telephone exchange. If local phone numbers are used,Vaha-Sipila Standards Track [Page 9]RFC 2806 URLs for Telephone Calls April 2000 the document in which they are present SHOULD contain an indication of the context in which they are intended to be used, and an appropriate <area-specifier> SHOULD be present in the URL. In some regions, it is popular to write phone numbers using alphabetic characters which correspond to certain numbers on the telephone keypad. Letters in <dtmf-digit> characters do not have anything to do with this, nor is this method supported by these URL schemes. It should also be noted that implementations MUST NOT assume that telephone numbers have a maximum, minimum or fixed length, or that they would always begin with a certain number. Implementors are encouraged to familiarize themselves with the international standards.2.5.3 Separators in phone numbers All <visual-separator> characters MUST be ignored by the local entity when using the URL. These characters are present only to aid readability: they MUST NOT have any other meaning. Note that although [E.123] recommends the use of space (SP) characters as the separators in printed telephone numbers, spaces MUST NOT be used in phone numbers in URLs as the space character cannot be used in URLs without escaping it.2.5.4 Converting the number to the local numbering scheme After the telephone number has been extracted, it can be converted to the local dialing convention. (For example, the "+" character might be replaced by the international call prefix, or the international and trunk prefixes might be removed to place a local call.) Numbers that have been specified using <local-phone> or <fax-local-phone> MUST be used by the local entity "as is", without any conversions, unless the local entity decides to utilize the information in an optional <service-provider> parameter.2.5.5 Sending post-dial sequence after call setup The number may contain a <post-dial> sequence, which MUST be dialled using Dual Tone Multifrequency (DTMF) in-band signalling or pulse dialing after the call setup is complete. If the user agent does not support DTMF or pulse dialing after the call has been set up, <post- dial> MUST be ignored. In that case, the user SHOULD be notified.Vaha-Sipila Standards Track [Page 10]RFC 2806 URLs for Telephone Calls April 20002.5.6 Pauses in dialing and post-dial sequence A local phone number or a post-dial sequence may contain <pause- character> characters which indicate a pause while dialing ("p"), or a wait for dial tone ("w"). Local entities MAY support this method of dialing, and the final interpretation of these characters is left to the local entity. It is RECOMMENDED that the length of each pause is about one second. If it is not supported, local entities MUST ignore everything in the dial string after the first <pause-character> and the user SHOULD be notified. The user or the local entity MAY opt not to place a call if this feature is not supported and these characters are present in the URL. Any <dtmf-digit> characters and all dial string characters after the first <pause-character> or <dtmf-digit> SHOULD be sent to line using DTMF (Dual Tone Multifrequency) in-band signaling, even if dialing is done using direct network signaling (a digital subscriber loop or a mobile phone). If the local infrastructure does not support DTMF codes, the local entity MAY opt to use pulse dialing. However, it should be noted that certain services which are controlled using DTMF tones cannot be controlled with pulse dialing. If pulse dialing is
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -