Ignore:
Timestamp:
Jan 5, 2006 11:35:46 PM (18 years ago)
Author:
bennylp
Message:

Added loop transport to test transaction

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip/sip_util.c

    r106 r107  
    177177        target = pjsip_parse_uri( tdata->pool, tmp.ptr, tmp.slen, 0); 
    178178        if (target == NULL) { 
    179             PJ_LOG(4,(THIS_FILE, "Error creating request: invalid target %s",  
    180                       tmp.ptr)); 
     179            status = PJSIP_EINVALIDREQURI; 
    181180            goto on_error; 
    182181        } 
     
    188187                                     PJSIP_PARSE_URI_AS_NAMEADDR); 
    189188        if (from->uri == NULL) { 
    190             PJ_LOG(4,(THIS_FILE, "Error creating request: invalid 'From' URI '%s'", 
    191                                 tmp.ptr)); 
     189            status = PJSIP_EINVALIDHDR; 
    192190            goto on_error; 
    193191        } 
     
    200198                                   PJSIP_PARSE_URI_AS_NAMEADDR); 
    201199        if (to->uri == NULL) { 
    202             PJ_LOG(4,(THIS_FILE, "Error creating request: invalid 'To' URI '%s'", 
    203                                 tmp.ptr)); 
     200            status = PJSIP_EINVALIDHDR; 
    204201            goto on_error; 
    205202        } 
     
    212209                                            PJSIP_PARSE_URI_AS_NAMEADDR); 
    213210            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; 
    217212                goto on_error; 
    218213            } 
     
    11701165            return PJ_SUCCESS; 
    11711166        } else { 
    1172             send_response_transport_cb(send_state, tdata, -status); 
     1167            pjsip_transport_dec_ref(send_state->cur_transport); 
    11731168            return status; 
    11741169        } 
     
    11801175} 
    11811176 
     1177/* 
     1178 * Send response 
     1179 */ 
     1180PJ_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} 
    11821228 
    11831229/* 
Note: See TracChangeset for help on using the changeset viewer.