UCMA: проверьте пользовательские заголовки SIP на стороне получателя для получения информации о пользовательских отправителях

Я использую объект CallEstablishOptions на стороне создания моего сообщения, чтобы инициировать InstantMessageCall с добавлением пользовательских заголовков.

CallEstablishOptions callOptions = new CallEstablishOptions();
callOptions.Headers.Add(new SignalingHeader("X-MyApp-UserId", userId));

Я хочу использовать его для передачи дополнительной информации об отправителе получателю (информация, которая не хранится в самом контакте). Вопрос в том, могу ли я снова получить эту информацию на стороне получателя. Я проверил CallReceivedEventArgs<InstantMessagingCall> аргумент, который я получаю, когда приходит InstantMessagingCall, но это, кажется, не поддерживает его. Есть что-то, что я здесь пропустил? Можно ли вообще так сделать? Я не настолько знаком с самим SIP, чтобы знать, работают ли пользовательские заголовки таким образом.

Любые другие идеи о том, как отправить пользовательские данные вместе с мгновенным сообщением? При вводе этого текста я думал об определении пользовательского mimetype, добавляете mimepart с этим типом к каждому отправляемому сообщению и добавляете туда дополнительную информацию?

1 ответ

Решение

Ответить себе (снова): идея заголовка не сработала, однако дополнительная часть mime сработала. Отправка форматированного текста с помощью UCMA 2.0 описывает, как отправить составное / альтернативное сообщение. поэтому вместо отправки открытого текста вместе с сообщением htmltext я отправляю открытый текст с некоторым типом содержимого application/x-myapp-metadata и добавляю туда дополнительные данные.

в UCMA 3.0 фактически существует контекстный канал, который вы используете для отправки такой метаинформации, поскольку UCMA 3.ß API работает только на 64-битных машинах, но я также должен поддерживать 32-битные машины.

Я надеюсь, что этот ответ поможет и другим.

Другие вопросы по тегам