diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-03-02 21:14:16 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-03-02 21:14:16 +0000 |
commit | 9c6c63de6a5564b32ee1239bb77ef605c8a69837 (patch) | |
tree | ac15635f6314e1b67f1cb842f3136705bddcea9e /pjsip/src | |
parent | 3bb3a2524cc7df01d7207fec609cd234085ba0c0 (diff) |
Added optional header and body in pjsip_dlg_respond
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@265 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src')
-rw-r--r-- | pjsip/src/pjsip/sip_dialog.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/pjsip/src/pjsip/sip_dialog.c b/pjsip/src/pjsip/sip_dialog.c index 5a61100a..4139b221 100644 --- a/pjsip/src/pjsip/sip_dialog.c +++ b/pjsip/src/pjsip/sip_dialog.c @@ -1194,7 +1194,9 @@ PJ_DEF(pj_status_t) pjsip_dlg_send_response( pjsip_dialog *dlg, PJ_DEF(pj_status_t) pjsip_dlg_respond( pjsip_dialog *dlg, pjsip_rx_data *rdata, int st_code, - const pj_str_t *st_text ) + const pj_str_t *st_text, + const pjsip_hdr *hdr_list, + const pjsip_msg_body *body ) { pj_status_t status; pjsip_tx_data *tdata; @@ -1214,6 +1216,23 @@ PJ_DEF(pj_status_t) pjsip_dlg_respond( pjsip_dialog *dlg, if (status != PJ_SUCCESS) return status; + /* Add additional header, if any */ + if (hdr_list) { + const pjsip_hdr *hdr; + + hdr = hdr_list->next; + while (hdr != hdr_list) { + pjsip_msg_add_hdr(tdata->msg, + pjsip_hdr_clone(tdata->pool, hdr)); + hdr = hdr->next; + } + } + + /* Add the message body, if any. */ + if (body) { + tdata->msg->body = pjsip_msg_body_clone( tdata->pool, body); + } + /* Send the response. */ return pjsip_dlg_send_response(dlg, pjsip_rdata_get_tsx(rdata), tdata); } |