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-битные машины.
Я надеюсь, что этот ответ поможет и другим.