Одним из способов подключения Microsoft Lync Server 2010 к телефонной сети общего пользования (ТфОП) является использование sip-trunk. Преимущества этого типа подключения очевидны: отсутствие необходимости в оборудовании (VoIP gateway), относительно не сложная настройка возможная экономия на телефонных звонках.
Однако при настройке сип-транка между Lync Server и местным ITSP провайдером, мы столкнулись со следующей проблемой: не возможно было получить входящий звонок.
Исходящие звонки (Lync->PSTN) работали без проблем, номера были в формате E.164, правила нормализации, планы набора, маршруты и транки были сконфигурированы, номер был закреплен за конкретным пользователем. Однако звонки со шлюза провайдера конечному пользователю не поступали. В логах был виден входящий звонок, он успешно поступал на Lync Server, никаких ошибок в логах не было и на первый взгляд все было ок. Однако звонок конечному пользователю так и не доходил (не было сообщения о звонке).
После долгого анализа логов, десятков звонков и обсуждений на форуме, выяснилось, что проблема была в настройках шлюза провайдера. Согласно логам, шлюз заявлял поддержку PRACK, однако в ответ за запрос ничего не отвечал. В зависимости от того, есть поддержка PRACK или нет, звонок может идти по разному (поддержка PRACK: слева — есть, справа — нет):
Проблема была решена отключением PRACK на стороне шлюза нашего ITSP. Почитать о ходе решения проблемы можно тут.