Я пытаюсь добавить поддержку ToS (QoS) в SIP-клиент (взятый из открытого телефона Linphone) следующим образом:
retval = setsockopt(session->rtp.socket, proto, value_type, (SOCKET_OPTION_VALUE)&tos, sizeof(tos));
Но в Windows 7 все мои попытки добавить ToS потерпели неудачу; он продолжает устанавливать нули (как видно из Wireshark). Кто-то сказал, что это «особенность» (ошибка чтения) в Windows.
На этой странице я прочитал, как создать политику QoS, поэтому я создал ее вручную с помощью графического интерфейса:
Я попробовал следующие шаги:
- Перейдите в
HKLM\System\CurrentControlSet\Services\Tcpip\QoS - Создайте ключ
QoSесли он не существует - Добавьте параметр
REG-SZименемDo not use NLAи присвойте ему значение1 - перезагружать
Это работает, как хотелось бы, но теперь мой вопрос заключается в том, как я могу автоматизировать создание такой политики (например, чтобы это можно было сделать во время установки программы)?
[РЕДАКТИРОВАТЬ]
Мой код - чистый C, и использовать исходный код C # будет немного проблематично, так как я использую среду и инструменты minGW с ./configure && make && make install .
