Вы можете ожидать, что ваш запрос прост, но, как вы собираетесь выяснить, есть куча протокольных «склеек», которые вам не хватает.
Чего вам не хватает?Есть пропущенный протокол SIP , который вам не хватает, а также пропущенный SDP , который определяет RTP потоковую информацию данных (часть, с которой у вас есть грубое начало выше.) Все эти протокольные сообщения должны быть правильно отформатированы для интерпретации вашим телефоном: для справки вот структура RTP .Сообщения SIP / SDP устанавливают информацию о конечных точках RTP, включая номера портов и выбор кодека, которые происходят вне трафика SIP.Форматирование RTP также включает разбиение мультимедийных данных на последовательные пакеты, которые имеют заголовок (который указывает порядковый номер) в дополнение к обычно небольшой двоичной полезной нагрузке мультимедийного потока (то есть необработанных данных из файла WAV).
Моя рекомендация состоит в том, чтобы подобрать инструмент для анализа пакетов, такой как wireshark , и проверить информацию о пакете программного телефона или подключить существующий SIP-телефон к концентратору, где выможет наблюдать трафик SIP, SDP & RTP.Это обеспечит некоторое понимание форматов и обмена сообщениями.Вы также можете попробовать настроить УАТС с открытым исходным кодом, например asterisk , которая позволит вам настроить сеть программных телефонов (вы можете обойтись сетью из одного или двух программных телефонов).
Я предлагаю проверить codeplex для проектов SIP , который позволит вам пропустить большую часть рутинной работы SIP / SDP.Хотя я не могу порекомендовать какой-либо из них в отдельности, мне удалось использовать SIP.NET для взаимодействия с сервером Asterisk, который я настроил около 5 лет назад - в основном в качестве доказательства концепции для компании, которую я использовалработать на.Я надеюсь, что это препятствие не уменьшит ваш энтузиазм, но у вас есть хороший путь, прежде чем вы услышите, как ваш файл wav воспроизводится на вашем SIP-телефоне.