Changeset 107 for pjproject/trunk/pjsip/src/pjsip/sip_util.c
- Timestamp:
- Jan 5, 2006 11:35:46 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsip/sip_util.c
r106 r107 177 177 target = pjsip_parse_uri( tdata->pool, tmp.ptr, tmp.slen, 0); 178 178 if (target == NULL) { 179 PJ_LOG(4,(THIS_FILE, "Error creating request: invalid target %s", 180 tmp.ptr)); 179 status = PJSIP_EINVALIDREQURI; 181 180 goto on_error; 182 181 } … … 188 187 PJSIP_PARSE_URI_AS_NAMEADDR); 189 188 if (from->uri == NULL) { 190 PJ_LOG(4,(THIS_FILE, "Error creating request: invalid 'From' URI '%s'", 191 tmp.ptr)); 189 status = PJSIP_EINVALIDHDR; 192 190 goto on_error; 193 191 } … … 200 198 PJSIP_PARSE_URI_AS_NAMEADDR); 201 199 if (to->uri == NULL) { 202 PJ_LOG(4,(THIS_FILE, "Error creating request: invalid 'To' URI '%s'", 203 tmp.ptr)); 200 status = PJSIP_EINVALIDHDR; 204 201 goto on_error; 205 202 } … … 212 209 PJSIP_PARSE_URI_AS_NAMEADDR); 213 210 if (contact->uri == NULL) { 214 PJ_LOG(4,(THIS_FILE, 215 "Error creating request: invalid 'Contact' URI '%s'", 216 tmp.ptr)); 211 status = PJSIP_EINVALIDHDR; 217 212 goto on_error; 218 213 } … … 1170 1165 return PJ_SUCCESS; 1171 1166 } else { 1172 send_response_transport_cb(send_state, tdata, -status);1167 pjsip_transport_dec_ref(send_state->cur_transport); 1173 1168 return status; 1174 1169 } … … 1180 1175 } 1181 1176 1177 /* 1178 * Send response 1179 */ 1180 PJ_DEF(pj_status_t) pjsip_endpt_respond_stateless( pjsip_endpoint *endpt, 1181 pjsip_rx_data *rdata, 1182 int st_code, 1183 const pj_str_t *st_text, 1184 const pjsip_hdr *hdr_list, 1185 const pjsip_msg_body *body) 1186 { 1187 pj_status_t status; 1188 pjsip_response_addr res_addr; 1189 pjsip_tx_data *tdata; 1190 1191 /* Create response message */ 1192 status = pjsip_endpt_create_response( endpt, rdata, st_code, st_text, 1193 &tdata); 1194 if (status != PJ_SUCCESS) 1195 return status; 1196 1197 /* Add the message headers, if any */ 1198 if (hdr_list) { 1199 const pjsip_hdr *hdr = hdr_list->next; 1200 while (hdr != hdr_list) { 1201 pjsip_msg_add_hdr( tdata->msg, pjsip_hdr_clone(tdata->pool, hdr) ); 1202 hdr = hdr->next; 1203 } 1204 } 1205 1206 /* Add the message body, if any. */ 1207 if (body) { 1208 tdata->msg->body = pj_pool_alloc(tdata->pool, sizeof(pjsip_msg_body)); 1209 status = pjsip_msg_body_clone( tdata->pool, tdata->msg->body, body ); 1210 if (status != PJ_SUCCESS) { 1211 pjsip_tx_data_dec_ref(tdata); 1212 return status; 1213 } 1214 } 1215 1216 /* Get where to send request. */ 1217 status = pjsip_get_response_addr( tdata->pool, rdata, &res_addr ); 1218 if (status != PJ_SUCCESS) { 1219 pjsip_tx_data_dec_ref(tdata); 1220 return status; 1221 } 1222 1223 /* Send! */ 1224 status = pjsip_endpt_send_response( endpt, &res_addr, tdata, NULL, NULL ); 1225 1226 return status; 1227 } 1182 1228 1183 1229 /*
Note: See TracChangeset
for help on using the changeset viewer.