Расширяемость структуры
Положения предназначены для расширения констант и структур как в независимом от устройства, так и для конкретного устройства (поставщика).
В константы, которые являются скалярными перечислениями, диапазон значений зарезервирован для будущих общих расширений. Оставшаяся часть значений определяется как конкретная для устройства. Поставщик может определять значения этих значений в любом случае. Интерпретация этих значений определяется идентификатором расширения , предоставляемым через структуру данных LINEDEVCAPS. Для констант, определенных как битовые флаги, зарезервированы диапазон битов с низким порядком, где биты высокого порядка могут быть определенными расширениями. Рекомендуется, чтобы расширенные значения и битовые массивы использовали биты из самого высокого или высокого порядка. Это оставляет возможность переместить границу между общей частью и частью расширения, если это необходимо сделать в будущем. Расширения для структур данных назначаются вариативно размерное поле с размером или смещением, являющегося частью фиксированной части. TSPI описывает каждую структуру данных, какие расширения разрешены для конкретного устройства.
Помимо распознавания определенного идентификатора расширения, TAPI (работающий от имени приложения) должен согласовывать номер версии расширения, в который работает приложение и поставщик услуг. Это делается с помощью функций TSPI_lineNegotiateExtVersion и TSPI_phoneNegotiateExtVersion.
Идентификатор расширения — это глобальный уникальный идентификатор. Центральный реестр для идентификаторов расширений отсутствует. Вместо этого они создаются локально производителем служебной программой, доступной с помощью набора средств. Число состоит из таких частей, как (уникальный) локальный адрес, время дня и случайное число, чтобы гарантировать глобальную уникальность. Глобальные уникальные идентификаторы предназначены для отличия от универсальных уникальных идентификаторов HP/DEC и, таким образом, полностью совместимы с ними.