Forward display name from the stack to all SIP messages
This commit is contained in:
parent
a35d944605
commit
5b7ffef95a
|
@ -277,6 +277,7 @@ tsip_request_t *tsip_dialog_request_new(const tsip_dialog_t *self, const char* m
|
||||||
tsk_list_foreach(item, self->ss->caps) {
|
tsk_list_foreach(item, self->ss->caps) {
|
||||||
tsk_params_add_param(&TSIP_HEADER(request->Contact)->params, TSK_PARAM(item->data)->name, TSK_PARAM(item->data)->value);
|
tsk_params_add_param(&TSIP_HEADER(request->Contact)->params, TSK_PARAM(item->data)->name, TSK_PARAM(item->data)->value);
|
||||||
}
|
}
|
||||||
|
tsk_strupdate(&(request->Contact->uri->display_name), TSIP_DIALOG_GET_STACK(self)->identity.display_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -248,7 +248,7 @@ int tsip_transport_msg_update_aor(tsip_transport_t* self, tsip_message_t *msg)
|
||||||
|
|
||||||
/* === Host and port === */
|
/* === Host and port === */
|
||||||
if(msg->Contact && msg->Contact->uri) {
|
if(msg->Contact && msg->Contact->uri) {
|
||||||
tsk_strupdate(&(msg->Contact->uri->scheme), self->scheme);
|
tsk_strupdate(&(msg->Contact->uri->scheme), self->scheme);
|
||||||
msg->Contact->uri->host_type = TNET_SOCKET_TYPE_IS_IPV6(self->type) ? host_ipv6 : host_ipv4; /* for serializer ...who know? */
|
msg->Contact->uri->host_type = TNET_SOCKET_TYPE_IS_IPV6(self->type) ? host_ipv6 : host_ipv4; /* for serializer ...who know? */
|
||||||
tsk_params_add_param(&msg->Contact->uri->params, "transport", self->protocol);
|
tsk_params_add_param(&msg->Contact->uri->params, "transport", self->protocol);
|
||||||
|
|
||||||
|
|
|
@ -89,6 +89,9 @@ static int __tsip_stack_set(tsip_stack_t *self, va_list* app)
|
||||||
/* (const char*)NAME_STR */
|
/* (const char*)NAME_STR */
|
||||||
const char* NAME_STR = va_arg(*app, const char*);
|
const char* NAME_STR = va_arg(*app, const char*);
|
||||||
tsk_strupdate(&self->identity.display_name, NAME_STR);
|
tsk_strupdate(&self->identity.display_name, NAME_STR);
|
||||||
|
if (self->identity.impu) {
|
||||||
|
tsk_strupdate(&self->identity.impu->display_name, NAME_STR);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case tsip_pname_impu:
|
case tsip_pname_impu:
|
||||||
|
@ -98,6 +101,7 @@ static int __tsip_stack_set(tsip_stack_t *self, va_list* app)
|
||||||
if(!tsk_strnullORempty(URI_STR)) {
|
if(!tsk_strnullORempty(URI_STR)) {
|
||||||
tsip_uri_t *uri = tsip_uri_parse(URI_STR, tsk_strlen(URI_STR));
|
tsip_uri_t *uri = tsip_uri_parse(URI_STR, tsk_strlen(URI_STR));
|
||||||
if(uri) {
|
if(uri) {
|
||||||
|
tsk_strupdate(&uri->display_name, self->identity.display_name);
|
||||||
if(curr == tsip_pname_impu) {
|
if(curr == tsip_pname_impu) {
|
||||||
TSK_OBJECT_SAFE_FREE(self->identity.impu);
|
TSK_OBJECT_SAFE_FREE(self->identity.impu);
|
||||||
self->identity.impu = uri;
|
self->identity.impu = uri;
|
||||||
|
|
|
@ -156,11 +156,15 @@ char* tsip_uri_tostring(const tsip_uri_t *uri, tsk_bool_t with_params, tsk_bool_
|
||||||
tsip_uri_t *tsip_uri_clone(const tsip_uri_t *uri, tsk_bool_t with_params, tsk_bool_t quote)
|
tsip_uri_t *tsip_uri_clone(const tsip_uri_t *uri, tsk_bool_t with_params, tsk_bool_t quote)
|
||||||
{
|
{
|
||||||
tsip_uri_t *newuri = tsk_null;
|
tsip_uri_t *newuri = tsk_null;
|
||||||
tsk_buffer_t *output = tsk_buffer_create_null();
|
if (uri) {
|
||||||
if((tsip_uri_serialize(uri, with_params, quote, output)) == 0) {
|
tsk_buffer_t *output = tsk_buffer_create_null();
|
||||||
newuri = tsip_uri_parse(output->data, output->size);
|
if((tsip_uri_serialize(uri, with_params, quote, output)) == 0) {
|
||||||
}
|
if ((newuri = tsip_uri_parse(output->data, output->size))) {
|
||||||
TSK_OBJECT_SAFE_FREE(output);
|
tsk_strupdate(&newuri->display_name, uri->display_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TSK_OBJECT_SAFE_FREE(output);
|
||||||
|
}
|
||||||
|
|
||||||
return newuri;
|
return newuri;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue