Адрес
Концепция адреса является основной для большинства операций обмена данными. Адрес представляет расположение в сети. Локальное назначение адреса строке или каналу обычно происходит во время установки поставщика услуг, но может быть изменено позже. Подробные сведения о описанных процедурах см. в пакете ресурсов операционной системы для поставщиков услуг, предоставляемых Корпорацией Майкрософт, и в документации по поставщику услуг для продуктов, отличных от Майкрософт.
Один адрес может использоваться несколькими устройствами строки. Разные поставщики коммутаторов имеют разные имена для этой концепции, такие как связывание адресов, номер каталога нескольких внешних элементов (MADN) или внешний вид. Входящий вызов общего адреса предлагается во всех строках, связанных с адресом. Сведения о конфигурациях, распознаемых TAPI, см. в констант LINEADDRESSSHARING_.
Сам адрес представляет собой строку, которая определяет расположение в сети. В случае телефонной сети адрес — это номер телефона, полный национальных или международных кодов. Если сеть основана на IP-адресе, адрес может быть IP-адресом. См. LINEADDRESSTYPE_ константы для типов адресов, определенных TAPI. Поставщик услуг может определять дополнительные типы адресов.
Address-Related возможности и сообщения
Разные адреса имеют различные функции, возможности и состояния. Поставщики услуг являются источником такой информации. Возможности запросов на устройства и состояния и механизмы создания отчетов о событиях TAPI предоставляют приложению информацию для управления адресами.
Приложения получают эти сведения путем обработки событий из TAPI или с помощью операций запроса. Это позволяет приложению учитывать такие факторы, как то, поддерживает ли данный адрес определенную возможность, например парк.
TAPI 2.x: Приложения вызывают функцию lineGetAddressCapsCaps, чтобы определить возможности телефонии каждого адреса, а затем получить эти сведения в структуре данных LINEADDRESSCAPS. Аналогичным образом приложение может вызывать lineGetDevCaps для устройства строки, чтобы определить количество адресов, назначенных строке, а также другие сведения.
TAPI 3.x: приложения используют интерфейсы объектов адресных объектов для получения сведений о возможностях и событиях адресов.
Хранение номеров телефонов в электронных адресных книгах
Многие пользователи предпочитают набирать людей, факсы, доски бюллетеней и другие сущности, выбрав их имена из адресной книги. Фактический номер, набранный, зависит от географического расположения пользователя и способа подключения устройства линии. Например, настольный компьютер может иметь доступ к двум линиям, один подключен к УАТС, другой — к центральному офису телефонной компании. При вызове одной и той же стороны может потребоваться использовать разные номера. (Для вызова через УАТС, например, компьютер может потребоваться набирать префикс "9", чтобы получить внешнюю линию, или другой префикс может потребоваться для вызова, сделанного через центральный офис.) Кроме того, пользователь может совершать звонки с переносимого компьютера и использовать одну статическую адресную книгу даже при вызове из разных расположений или сред телефонии. Возможности преобразования адресов TAPI позволяют пользователю сообщать компьютеру текущего расположения и требуемому устройству строки для вызова. Затем TAPI обрабатывает любые различия набора, требуя никаких изменений в адресной книге пользователя. Приложение использует преобразование адресов для преобразования адреса из канонического формата в формат телефонного адреса.
Связанная тема заключается в обработке международного мониторинга хода выполнения звонков, который является процессом прослушивания звуковых тонов, таких как тон абонента, специальные информационные тоны, загруженные сигналы и тоны обратного звонка, чтобы определить состояние звонка (его ход выполнения через сеть). Так как частоты и частоты тонов хода вызова зависят от страны или региона до страны или региона, поставщик услуг должен знать, какой ход вызова следует выполнять при выполнении международного исходящего звонка. Поэтому приложения указывают страну назначения или код региона при размещении исходящих вызовов.
Канонические адреса
Формат канонического адреса предназначен для универсального постоянного номера каталога. По этой причине числа в адресных книгах лучше всего храниться с помощью канонического формата.
Следующие сведения касаются канонического адреса телефона.
Канонический адрес телефона — это текстовая строка со следующей структурой:
+ CountryCode пробел [(AreaCode) пробел] номер подписчика | subaddress ^ Name CRLF ...
Компоненты этой структуры описаны в следующей таблице.
Компонент
Значение
+
Эквивалент шестнадцатеричного 2B. Указывает, что число, следующее за ним, использует канонический формат.
CountryCode
Вариативно размерная строка, содержащая одну или несколько цифр "0" до "9" (шестнадцатеричное по 39 включительно). CountryCode разделены следующим пробелом. Он определяет страну или регион, в котором расположен адрес.
Пространство
Ровно один пробел (шестнадцатеричный 20). Он используется для разделителя конца CountryCode части адреса.
AreaCode
Вариативная строка с нулевым или более цифрами "0" до "9" (шестнадцатеричное значение от 30 до 39 включительно). AreaCode является частью кода области адреса и является необязательной. Если код области присутствует, он должен предшествовать ровно одному левому символу скобки (28), за которым следует ровно один правый знак скобки (29) и один пробел (20).
подписчика
Вариативно размерная строка, содержащая одну или несколько цифр "0" до "9" (шестнадцатеричное по 39 включительно). Кроме того, он может включать другие символы форматирования, включая любой из символов элемента управления набором, описанных в формате телефонного адреса:
Характер
Кодировка шестнадцатеричных выражений
! #
$
*
,
?
@
ABCD
P
T
W
abcd
p
t
w
21 23
24
2A
2C
3F
40
41-44
50
54
77
61-64
70
74
79
Номер подписчика не должен содержать символ левой скобки или правой скобки (которые используются только для разделителя кода области), а также не должен содержать символы "|", "^" или CRLF (которые используются для начала следующих полей). Чаще всего символы, отличные отdigit в номере подписчика, включают только пробелы, точки ("."), а также дефисы ("-"). Все допустимые символы, которые отображаются в номере подписчика, опущены из DialableString, возвращенные функцией lineTranslateAddress, но сохраняются в DisplayableString.
|
Шестнадцатеричное (7C). Если этот необязательный символ присутствует, информация, следующая за ней до следующего + | ^ CRLF или конец канонической строки адреса рассматривается как подадресовая информация, как подадресы ISDN.
subaddress
Вариативная строка, содержащая подадресы. Строка разделена по + | ^ CRLF или конец строки адреса. Во время набора данные подадресов передаются удаленной стороне. Это могут быть такие вещи, как подадресы ISDN или адрес электронной почты.
^
Шестнадцатеричное (5E). Если этот необязательный символ присутствует, сведения, следующие за ним до следующего CRLF или конца канонической строки адреса, рассматриваются как имя ISDN.
имени
Вариативная строка, которая рассматривается как сведения о имени. Имя разделено CRLF или концом канонической строки адреса и может содержать другие разделители. Во время набора данные об имени передаются удаленной стороне.
CRLF
Шестнадцатеричный (0D) и шестнадцатеричный (0A) и необязательный. Если он присутствует, он указывает, что другое каноническое число следует этому. Он используется для разделения нескольких канонических адресов в рамках одной строки адресов (обратное мультиплексирование). Например, каноническое представление телефонного номера основного коммутатора в корпорации Майкрософт будет:
+1 (425) 882-8080
Телефонные адреса
Формат абонентского адреса — это форма, в которой адрес передается поставщику услуг, который обрабатывает номера телефонов. Следующие сведения касаются телефонных адресов в телефонной сети.
Формат набора номеров позволяет одновременно предоставлять несколько целевых адресов. Эта возможность может оказаться полезной, если поставщик услуг предлагает некоторую форму обратного мультиплексирования, настроив вызовы к каждому из указанных назначений, а затем управляя потоком информации в виде одного потока мультимедиа с высокой пропускной способностью. Приложение воспринимает эту группу звонков как единый звонок, так как он получает только один дескриптор, представляющий агрегат отдельных телефонных звонков.
Кроме того, можно поддерживать обратное мультиплексирование на уровне приложения. Для этого приложение настроит ряд отдельных вызовов и синхронизирует потоки мультимедиа.
subaddressing — это возможность, предоставляемая в строках ISDN, которая позволяет использовать больше информации, чем только один номер телефона, используемый при телефонном подключении. Эта дополнительная информация может указать отдельное расширение телефона для вызова или в вычислительной среде, которое нужно оповещать. Другие параметры могут описать необходимые аспекты запрошенного подключения, такие как скорость и время.
Если подадресирование поддерживается поставщиком услуг, приложение включает это в адрес, переданный любой операции, требующей одного.
Телефонный адрес, доступный для набора, содержит сведения об адресации частей и является частью навигации по природе. Любая входная строка, которая не начинается с символа "+", считается, что не имеет канонического формата и поэтому находится в формате телефонного адреса и возвращается приложению без изменений. Телефонный адрес — это текстовая строка со следующей структурой:
DialableNumber | Subaddress ^ Name CRLF ...
Компоненты этой структуры приведены в следующей таблице.
Компонент | Значение |
---|---|
DialableNumber | Цифры и модификаторы 0-9 A-D * # , ! W w P p T t @ $ ? ; Разделитель | ^ CRLF или конец строки абонентского адреса. Знак плюса (+) является допустимым символом в строках набора. Он указывает, что номер телефона является полным международным номером. В DialableNumber обратите внимание на следующие определения: 0-9 A-D * # Символы, соответствующие цифрам DTMF и /или пульса. |
! | Шестнадцатеричное (21). Указывает, что перехватчик (одна половина секунды на перехватчике, за которым следует половиной секунды выключения перед продолжением), должен быть вставлен в строку набора. |
P p | Шестнадцатеричное (50) или шестнадцатеричное (70). Указывает, что пульсовый набор будет использоваться для цифр после него. |
T t | Шестнадцатеричное (54) или шестнадцатеричное (74). Указывает, что тон (DTMF) будет использоваться для цифр после него. |
, | Шестнадцатеричное (27). Указывает, что подключение к телефону должно быть приостановлено. Длительность приостановки зависит от устройства и может быть получена из возможностей устройства строки. Несколько запятых можно использовать для предоставления более длительных пауз. |
W w | Шестнадцатеричное (57) или шестнадцатеричное (77). Верхний или нижний регистр W указывает, что абонент должен продолжаться только после обнаружения тона набора. |
@ | Шестнадцатеричное (40). Указывает, что абонентскую связь следует "ждать тихих ответов", прежде чем набирать оставшуюся часть абонентского адреса. Это означает ждать по крайней мере один тон обратного звонка, за которым следует несколько секунд молчания. |
$ | Шестнадцатеричное (24). Указывает, что для набора сведений о выставлении счетов требуется ожидать "сигнал выставления счетов" (например, тон запроса кредитной карты). |
? | Шестнадцатеричное (3F). Указывает, что пользователю будет предложено продолжить абонентскую связь. Поставщик фактически не выполняет запрос, но наличие "?" заставляет поставщика отклонять строку как недопустимую, оповещая приложение о необходимости разбить его на части и предложить пользователю между ними. |
; | Шестнадцатеричное (3B). Если он размещен в конце частично указанной строки адресного номера, он указывает, что сведения о номере набора неполны, а дополнительные сведения об адресе будут предоставлены позже. Компонент ";" разрешен только в dialableNumber части адреса. |
| | Шестнадцатеричный (7C) и необязательный. Если он присутствует, информация, следующая за ней до следующего + | ^ CRLF или конец строки абонентского адреса рассматривается как подадресы (как для подадресов ISDN). |
subaddress | Вариативная строка, содержащая подадресы. Строка разделена следующим + | ^ CRLF или конец строки адреса. При наборе данных данные подадресов передаются удаленной стороне. Оно может быть для подадресов ISDN, адреса электронной почты и т. д. |
^ | Шестнадцатеричное значение (5E) и является необязательным. При наличии сведения, приведенные ниже, до следующего CRLF или конца строки абонентского адреса рассматриваются как имя ISDN. |
имени | Вариативная строка, которая рассматривается как сведения о имени. Имя разделено CRLF или конец строки адреса для набора. При наборе номера сведения об имени передаются удаленной стороне. |
CRLF | Шестнадцатеричное (0D), за которым следует Hex (0A). Если этот символ присутствует, этот необязательный знак указывает на то, что другой телефонный номер следует этому. Он используется для разделения нескольких телефонных адресов в рамках одной строки адреса (для обратного мультиплексирования). |
Перевод адресов можно использовать для перевода адреса из канонического формата в формат, доступный для набора.