diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-02-23 21:27:46 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-02-23 21:27:46 +0000 |
commit | d5b883d52b22b6fa6ea17d99a9aed46edb3c5b56 (patch) | |
tree | 7090af330893f5613258c86eb398d7a2324e51b6 /pjsip | |
parent | 83543421cc24dd7e2e3814a379dcbd8684f29268 (diff) |
Fixed generation of header from the URI
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@227 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r-- | pjsip/src/pjsip/sip_dialog.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/pjsip/src/pjsip/sip_dialog.c b/pjsip/src/pjsip/sip_dialog.c index 3dfc8b94..5a61100a 100644 --- a/pjsip/src/pjsip/sip_dialog.c +++ b/pjsip/src/pjsip/sip_dialog.c @@ -142,14 +142,23 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uac( pjsip_user_agent *ua, param = uri->header_param.next; while (param != &uri->header_param) { - pjsip_generic_string_hdr *req_hdr; + pjsip_hdr *hdr; - req_hdr = pjsip_generic_string_hdr_create(dlg->pool, ¶m->name, - ¶m->value); - pj_list_push_back(&dlg->inv_hdr, req_hdr); + hdr = pjsip_parse_hdr(dlg->pool, ¶m->name, param->value.ptr, + param->value.slen, NULL); + if (hdr == NULL) { + status = PJSIP_EINVALIDURI; + goto on_error; + } + pj_list_push_back(&dlg->inv_hdr, hdr); param = param->next; } + + /* Now must remove any header params from URL, since that would + * create another header in pjsip_endpt_create_request(). + */ + pj_list_init(&uri->header_param); } /* Init local info. */ |