Ignore:
Timestamp:
Sep 18, 2011 2:59:56 PM (10 years ago)
Author:
bennylp
Message:

Modified the libraries to use the new log indentation feature re #1372

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsua-lib/pjsua_call.c

    r3694 r3753  
    343343                                          pjsua_call_id *p_call_id) 
    344344{ 
    345     pj_pool_t *tmp_pool; 
     345    pj_pool_t *tmp_pool = NULL; 
    346346    pjsip_dialog *dlg = NULL; 
    347347    pjmedia_sdp_session *offer; 
     
    362362    PJ_ASSERT_RETURN(dest_uri, PJ_EINVAL); 
    363363 
     364    PJ_LOG(4,(THIS_FILE, "Making call with acc #%d to %.*s", acc_id, 
     365              (int)dest_uri->slen, dest_uri->ptr)); 
     366 
     367    pj_log_push_indent(); 
     368 
    364369    PJSUA_LOCK(); 
    365370 
     
    375380 
    376381        status = pjsua_set_snd_dev(pjsua_var.cap_dev, pjsua_var.play_dev); 
    377         if (status != PJ_SUCCESS) { 
    378             PJSUA_UNLOCK(); 
    379             return status; 
    380         } 
     382        if (status != PJ_SUCCESS) 
     383            goto on_error; 
    381384    } 
    382385 
     
    385388        pjsua_perror(THIS_FILE, "Unable to make call because account " 
    386389                     "is not valid", PJ_EINVALIDOP); 
    387         PJSUA_UNLOCK(); 
    388         return PJ_EINVALIDOP; 
     390        status = PJ_EINVALIDOP; 
     391        goto on_error; 
    389392    } 
    390393 
     
    394397    if (call_id == PJSUA_INVALID_ID) { 
    395398        pjsua_perror(THIS_FILE, "Error making call", PJ_ETOOMANY); 
    396         PJSUA_UNLOCK(); 
    397         return PJ_ETOOMANY; 
     399        status = PJ_ETOOMANY; 
     400        goto on_error; 
    398401    } 
    399402 
     
    422425            pjsua_perror(THIS_FILE, "Unable to make call",  
    423426                         PJSIP_EINVALIDREQURI); 
    424             pj_pool_release(tmp_pool); 
    425             PJSUA_UNLOCK(); 
    426             return PJSIP_EINVALIDREQURI; 
    427         } 
    428     } 
    429  
    430     PJ_LOG(4,(THIS_FILE, "Making call with acc #%d to %.*s", acc_id, 
    431               (int)dest_uri->slen, dest_uri->ptr)); 
     427            status = PJSIP_EINVALIDREQURI; 
     428            goto on_error; 
     429        } 
     430    } 
    432431 
    433432    /* Mark call start time. */ 
     
    448447            pjsua_perror(THIS_FILE, "Unable to generate Contact header",  
    449448                         status); 
    450             pj_pool_release(tmp_pool); 
    451             PJSUA_UNLOCK(); 
    452             return status; 
     449            goto on_error; 
    453450        } 
    454451    } 
     
    460457    if (status != PJ_SUCCESS) { 
    461458        pjsua_perror(THIS_FILE, "Dialog creation failed", status); 
    462         pj_pool_release(tmp_pool); 
    463         PJSUA_UNLOCK(); 
    464         return status; 
     459        goto on_error; 
    465460    } 
    466461 
     
    588583    PJSUA_UNLOCK(); 
    589584 
     585    pj_log_pop_indent(); 
     586 
    590587    return PJ_SUCCESS; 
    591588 
     
    606603    } 
    607604 
    608     pj_pool_release(tmp_pool); 
     605    if (tmp_pool) 
     606        pj_pool_release(tmp_pool); 
    609607    PJSUA_UNLOCK(); 
     608 
     609    pj_log_pop_indent(); 
    610610    return status; 
    611611} 
     
    669669    } 
    670670 
     671    PJ_LOG(4,(THIS_FILE, "Incoming %s", rdata->msg_info.info)); 
     672    pj_log_push_indent(); 
     673 
    671674    PJSUA_LOCK(); 
    672675 
     
    680683        PJ_LOG(2,(THIS_FILE,  
    681684                  "Unable to accept incoming call (too many calls)")); 
    682         PJSUA_UNLOCK(); 
    683         return PJ_TRUE; 
     685        goto on_return; 
    684686    } 
    685687 
     
    715717        } 
    716718 
    717         PJSUA_UNLOCK(); 
    718         return PJ_TRUE; 
     719        goto on_return; 
    719720    } 
    720721 
     
    746747            pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata,  
    747748                                st_code, &st_text, NULL, NULL, NULL); 
    748             PJSUA_UNLOCK(); 
    749             return PJ_TRUE; 
     749            goto on_return; 
    750750        } 
    751751    } 
     
    794794            pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata, 400,  
    795795                                &reason, &hdr_list, NULL, NULL); 
    796             PJSUA_UNLOCK(); 
    797             return PJ_TRUE; 
     796            goto on_return; 
    798797        } 
    799798 
     
    805804            pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata, 400, &reason,  
    806805                                NULL, NULL, NULL); 
    807             PJSUA_UNLOCK(); 
    808             return PJ_TRUE; 
     806            goto on_return; 
    809807        } 
    810808 
     
    823821        pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata, 
    824822                            sip_err_code, NULL, NULL, NULL, NULL); 
    825         PJSUA_UNLOCK(); 
    826         return PJ_TRUE; 
     823        goto on_return; 
    827824    } 
    828825 
     
    834831        pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata, 
    835832                            sip_err_code, NULL, NULL, NULL, NULL); 
    836         PJSUA_UNLOCK(); 
    837         return PJ_TRUE; 
     833        goto on_return; 
    838834    } 
    839835 
     
    872868 
    873869        pjsua_media_channel_deinit(call->index); 
    874         PJSUA_UNLOCK(); 
    875         return PJ_TRUE; 
     870        goto on_return; 
    876871    }  
    877872 
     
    889884                                          NULL, NULL); 
    890885            pjsua_media_channel_deinit(call->index); 
    891             PJSUA_UNLOCK(); 
    892             return PJ_TRUE; 
     886            goto on_return; 
    893887        } 
    894888    } 
     
    901895                                      NULL, NULL); 
    902896        pjsua_media_channel_deinit(call->index); 
    903         PJSUA_UNLOCK(); 
    904         return PJ_TRUE; 
     897        goto on_return; 
    905898    } 
    906899 
     
    943936         */ 
    944937        pjsua_media_channel_deinit(call->index); 
    945         PJSUA_UNLOCK(); 
    946         return PJ_TRUE; 
     938        goto on_return; 
    947939    } 
    948940 
     
    959951        pjsua_media_channel_deinit(call->index); 
    960952 
    961         PJSUA_UNLOCK(); 
    962         return PJ_TRUE; 
     953        goto on_return; 
    963954    } 
    964955 
     
    1007998        } 
    1008999        pjsua_media_channel_deinit(call->index); 
    1009         PJSUA_UNLOCK(); 
    1010         return PJ_TRUE; 
     1000        goto on_return; 
    10111001 
    10121002    } else { 
     
    10141004        if (status != PJ_SUCCESS) { 
    10151005            pjsua_perror(THIS_FILE, "Unable to send 100 response", status); 
    1016             PJSUA_UNLOCK(); 
    1017             return PJ_TRUE; 
     1006            goto on_return; 
    10181007        } 
    10191008    } 
     
    10881077 
    10891078    /* This INVITE request has been handled. */ 
     1079on_return: 
     1080    pj_log_pop_indent(); 
    10901081    PJSUA_UNLOCK(); 
    10911082    return PJ_TRUE; 
     
    15781569{ 
    15791570    pjsua_call *call; 
    1580     pjsip_dialog *dlg; 
     1571    pjsip_dialog *dlg = NULL; 
    15811572    pjsip_tx_data *tdata; 
    15821573    pj_status_t status; 
     
    15851576                     PJ_EINVAL); 
    15861577 
     1578    PJ_LOG(4,(THIS_FILE, "Answering call %d: code=%d", call_id, code)); 
     1579    pj_log_push_indent(); 
     1580 
    15871581    status = acquire_call("pjsua_call_answer()", call_id, &call, &dlg); 
    15881582    if (status != PJ_SUCCESS) 
    1589         return status; 
     1583        goto on_return; 
    15901584 
    15911585    if (call->res_time.sec == 0) 
     
    16001594        pjsua_perror(THIS_FILE, "Error creating response",  
    16011595                     status); 
    1602         pjsip_dlg_dec_lock(dlg); 
    1603         return status; 
     1596        goto on_return; 
    16041597    } 
    16051598 
     
    16071600     * 200/OK and the media failed to start. 
    16081601     */ 
    1609     if (call->inv == NULL) { 
    1610         pjsip_dlg_dec_lock(dlg); 
    1611         return PJSIP_ESESSIONTERMINATED; 
    1612     } 
     1602    if (call->inv == NULL) 
     1603        goto on_return; 
    16131604 
    16141605    /* Add additional headers etc */ 
     
    16211612                     status); 
    16221613 
    1623     pjsip_dlg_dec_lock(dlg); 
    1624  
     1614on_return: 
     1615    if (dlg) pjsip_dlg_dec_lock(dlg); 
     1616    pj_log_pop_indent(); 
    16251617    return status; 
    16261618} 
     
    16371629{ 
    16381630    pjsua_call *call; 
    1639     pjsip_dialog *dlg; 
     1631    pjsip_dialog *dlg = NULL; 
    16401632    pj_status_t status; 
    16411633    pjsip_tx_data *tdata; 
     
    16501642                     PJ_EINVAL); 
    16511643 
     1644    PJ_LOG(4,(THIS_FILE, "Call %d hanging up: code=%d..", call_id, code)); 
     1645    pj_log_push_indent(); 
     1646 
    16521647    status = acquire_call("pjsua_call_hangup()", call_id, &call, &dlg); 
    16531648    if (status != PJ_SUCCESS) 
    1654         return status; 
     1649        goto on_return; 
    16551650 
    16561651    if (code==0) { 
     
    16681663                     "Failed to create end session message",  
    16691664                     status); 
    1670         pjsip_dlg_dec_lock(dlg); 
    1671         return status; 
     1665        goto on_return; 
    16721666    } 
    16731667 
     
    16761670     * with any provisional responses. 
    16771671     */ 
    1678     if (tdata == NULL) { 
    1679         pjsip_dlg_dec_lock(dlg); 
    1680         return PJ_SUCCESS; 
    1681     } 
     1672    if (tdata == NULL) 
     1673        goto on_return; 
    16821674 
    16831675    /* Add additional headers etc */ 
     
    16901682                     "Failed to send end session message",  
    16911683                     status); 
    1692         pjsip_dlg_dec_lock(dlg); 
    1693         return status; 
     1684        goto on_return; 
    16941685    } 
    16951686 
     
    17011692    } 
    17021693 
    1703     pjsip_dlg_dec_lock(dlg); 
    1704  
    1705     return PJ_SUCCESS; 
     1694on_return: 
     1695    if (dlg) pjsip_dlg_dec_lock(dlg); 
     1696    pj_log_pop_indent(); 
     1697    return status; 
    17061698} 
    17071699 
     
    17411733    pjmedia_sdp_session *sdp; 
    17421734    pjsua_call *call; 
    1743     pjsip_dialog *dlg; 
     1735    pjsip_dialog *dlg = NULL; 
    17441736    pjsip_tx_data *tdata; 
    17451737    pj_status_t status; 
     
    17481740                     PJ_EINVAL); 
    17491741 
     1742    PJ_LOG(4,(THIS_FILE, "Putting call %d on hold", call_id)); 
     1743    pj_log_push_indent(); 
     1744 
    17501745    status = acquire_call("pjsua_call_set_hold()", call_id, &call, &dlg); 
    17511746    if (status != PJ_SUCCESS) 
    1752         return status; 
    1753  
     1747        goto on_return; 
    17541748 
    17551749    if (call->inv->state != PJSIP_INV_STATE_CONFIRMED) { 
    17561750        PJ_LOG(3,(THIS_FILE, "Can not hold call that is not confirmed")); 
    1757         pjsip_dlg_dec_lock(dlg); 
    1758         return PJSIP_ESESSIONSTATE; 
     1751        status = PJSIP_ESESSIONSTATE; 
     1752        goto on_return; 
    17591753    } 
    17601754 
    17611755    status = create_sdp_of_call_hold(call, &sdp); 
    1762     if (status != PJ_SUCCESS) { 
    1763         pjsip_dlg_dec_lock(dlg); 
    1764         return status; 
    1765     } 
     1756    if (status != PJ_SUCCESS) 
     1757        goto on_return; 
    17661758 
    17671759    /* Create re-INVITE with new offer */ 
     
    17691761    if (status != PJ_SUCCESS) { 
    17701762        pjsua_perror(THIS_FILE, "Unable to create re-INVITE", status); 
    1771         pjsip_dlg_dec_lock(dlg); 
    1772         return status; 
     1763        goto on_return; 
    17731764    } 
    17741765 
     
    17801771    if (status != PJ_SUCCESS) { 
    17811772        pjsua_perror(THIS_FILE, "Unable to send re-INVITE", status); 
    1782         pjsip_dlg_dec_lock(dlg); 
    1783         return status; 
     1773        goto on_return; 
    17841774    } 
    17851775 
     
    17871777    call->local_hold = PJ_TRUE; 
    17881778 
    1789     pjsip_dlg_dec_lock(dlg); 
    1790  
    1791     return PJ_SUCCESS; 
     1779on_return: 
     1780    if (dlg) pjsip_dlg_dec_lock(dlg); 
     1781    pj_log_pop_indent(); 
     1782    return status; 
    17921783} 
    17931784 
     
    18041795    pjsip_tx_data *tdata; 
    18051796    pjsua_call *call; 
    1806     pjsip_dialog *dlg; 
     1797    pjsip_dialog *dlg = NULL; 
    18071798    pj_status_t status; 
    18081799 
     
    18111802                     PJ_EINVAL); 
    18121803 
     1804    PJ_LOG(4,(THIS_FILE, "Sending re-INVITE on call %d", call_id)); 
     1805    pj_log_push_indent(); 
     1806 
    18131807    status = acquire_call("pjsua_call_reinvite()", call_id, &call, &dlg); 
    18141808    if (status != PJ_SUCCESS) 
    1815         return status; 
     1809        goto on_return; 
    18161810 
    18171811    if (call->inv->state != PJSIP_INV_STATE_CONFIRMED) { 
    18181812        PJ_LOG(3,(THIS_FILE, "Can not re-INVITE call that is not confirmed")); 
    1819         pjsip_dlg_dec_lock(dlg); 
    1820         return PJSIP_ESESSIONSTATE; 
     1813        status = PJSIP_ESESSIONSTATE; 
     1814        goto on_return; 
    18211815    } 
    18221816 
     
    18331827        pjsua_perror(THIS_FILE, "Unable to get SDP from media endpoint",  
    18341828                     status); 
    1835         pjsip_dlg_dec_lock(dlg); 
    1836         return status; 
     1829        goto on_return; 
    18371830    } 
    18381831 
     
    18471840    if (status != PJ_SUCCESS) { 
    18481841        pjsua_perror(THIS_FILE, "Unable to create re-INVITE", status); 
    1849         pjsip_dlg_dec_lock(dlg); 
    1850         return status; 
     1842        goto on_return; 
    18511843    } 
    18521844 
     
    18581850    if (status != PJ_SUCCESS) { 
    18591851        pjsua_perror(THIS_FILE, "Unable to send re-INVITE", status); 
    1860         pjsip_dlg_dec_lock(dlg); 
    1861         return status; 
    1862     } 
    1863  
     1852        goto on_return; 
     1853    } 
     1854 
     1855on_return: 
    18641856    pjsip_dlg_dec_lock(dlg); 
    1865  
    1866     return PJ_SUCCESS; 
     1857    pj_log_pop_indent(); 
     1858    return status; 
    18671859} 
    18681860 
     
    18791871    pjsip_tx_data *tdata; 
    18801872    pjsua_call *call; 
    1881     pjsip_dialog *dlg; 
     1873    pjsip_dialog *dlg = NULL; 
    18821874    pj_status_t status; 
    18831875 
     
    18871879                     PJ_EINVAL); 
    18881880 
     1881    PJ_LOG(4,(THIS_FILE, "Sending UPDATE on call %d", call_id)); 
     1882    pj_log_push_indent(); 
     1883 
    18891884    status = acquire_call("pjsua_call_update()", call_id, &call, &dlg); 
    18901885    if (status != PJ_SUCCESS) 
    1891         return status; 
     1886        goto on_return; 
    18921887 
    18931888    /* Create SDP */ 
     
    18981893        pjsua_perror(THIS_FILE, "Unable to get SDP from media endpoint",  
    18991894                     status); 
    1900         pjsip_dlg_dec_lock(dlg); 
    1901         return status; 
     1895        goto on_return; 
    19021896    } 
    19031897 
     
    19121906    if (status != PJ_SUCCESS) { 
    19131907        pjsua_perror(THIS_FILE, "Unable to create UPDATE request", status); 
    1914         pjsip_dlg_dec_lock(dlg); 
    1915         return status; 
     1908        goto on_return; 
    19161909    } 
    19171910 
     
    19231916    if (status != PJ_SUCCESS) { 
    19241917        pjsua_perror(THIS_FILE, "Unable to send UPDATE request", status); 
    1925         pjsip_dlg_dec_lock(dlg); 
    1926         return status; 
     1918        goto on_return; 
    19271919    } 
    19281920 
    19291921    call->local_hold = PJ_FALSE; 
    19301922 
    1931     pjsip_dlg_dec_lock(dlg); 
    1932  
    1933     return PJ_SUCCESS; 
     1923on_return: 
     1924    if (dlg) pjsip_dlg_dec_lock(dlg); 
     1925    pj_log_pop_indent(); 
     1926    return status; 
    19341927} 
    19351928 
     
    19451938    pjsip_tx_data *tdata; 
    19461939    pjsua_call *call; 
    1947     pjsip_dialog *dlg; 
     1940    pjsip_dialog *dlg = NULL; 
    19481941    pjsip_generic_string_hdr *gs_hdr; 
    19491942    const pj_str_t str_ref_by = { "Referred-By", 11 }; 
     
    19521945 
    19531946 
    1954     PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls, 
    1955                     PJ_EINVAL); 
     1947    PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls && 
     1948                     dest, PJ_EINVAL); 
    19561949     
     1950    PJ_LOG(4,(THIS_FILE, "Transfering call %d to %.*s", call_id, 
     1951                         (int)dest->slen, dest->ptr)); 
     1952    pj_log_push_indent(); 
     1953 
    19571954    status = acquire_call("pjsua_call_xfer()", call_id, &call, &dlg); 
    19581955    if (status != PJ_SUCCESS) 
    1959         return status; 
    1960  
     1956        goto on_return; 
    19611957    
    19621958    /* Create xfer client subscription. */ 
     
    19671963    if (status != PJ_SUCCESS) { 
    19681964        pjsua_perror(THIS_FILE, "Unable to create xfer", status); 
    1969         pjsip_dlg_dec_lock(dlg); 
    1970         return status; 
     1965        goto on_return; 
    19711966    } 
    19721967 
     
    19801975    if (status != PJ_SUCCESS) { 
    19811976        pjsua_perror(THIS_FILE, "Unable to create REFER request", status); 
    1982         pjsip_dlg_dec_lock(dlg); 
    1983         return status; 
     1977        goto on_return; 
    19841978    } 
    19851979 
     
    19971991    if (status != PJ_SUCCESS) { 
    19981992        pjsua_perror(THIS_FILE, "Unable to send REFER request", status); 
    1999         pjsip_dlg_dec_lock(dlg); 
    2000         return status; 
     1993        goto on_return; 
    20011994    } 
    20021995 
     
    20051998     * may want to hold the INVITE, or terminate the invite, or whatever. 
    20061999     */ 
    2007  
    2008     pjsip_dlg_dec_lock(dlg); 
    2009  
    2010     return PJ_SUCCESS; 
     2000on_return: 
     2001    if (dlg) pjsip_dlg_dec_lock(dlg); 
     2002    pj_log_pop_indent(); 
     2003    return status; 
    20112004 
    20122005} 
     
    20362029                     PJ_EINVAL); 
    20372030     
     2031    PJ_LOG(4,(THIS_FILE, "Transfering call %d replacing with call %d", 
     2032                         call_id, dest_call_id)); 
     2033    pj_log_push_indent(); 
     2034 
    20382035    status = acquire_call("pjsua_call_xfer_replaces()", dest_call_id,  
    20392036                          &dest_call, &dest_dlg); 
    2040     if (status != PJ_SUCCESS) 
     2037    if (status != PJ_SUCCESS) { 
     2038        pj_log_pop_indent(); 
    20412039        return status; 
     2040    } 
    20422041         
    20432042    /*  
     
    20462045 
    20472046    /* Make sure we have sufficient buffer's length */ 
    2048     PJ_ASSERT_RETURN( dest_dlg->remote.info_str.slen + 
     2047    PJ_ASSERT_ON_FAIL(dest_dlg->remote.info_str.slen + 
    20492048                      dest_dlg->call_id->id.slen + 
    20502049                      dest_dlg->remote.info->tag.slen + 
    20512050                      dest_dlg->local.info->tag.slen + 32  
    2052                       < (long)sizeof(str_dest_buf), PJSIP_EURITOOLONG); 
     2051                      < (long)sizeof(str_dest_buf), 
     2052                      { status=PJSIP_EURITOOLONG; goto on_error; }); 
    20532053 
    20542054    /* Print URI */ 
     
    20592059    len = pjsip_uri_print(PJSIP_URI_IN_REQ_URI, uri,  
    20602060                          str_dest_buf+1, sizeof(str_dest_buf)-1); 
    2061     if (len < 0) 
    2062         return PJSIP_EURITOOLONG; 
     2061    if (len < 0) { 
     2062        status = PJSIP_EURITOOLONG; 
     2063        goto on_error; 
     2064    } 
    20632065 
    20642066    str_dest.slen += len; 
     
    20812083                           dest_dlg->local.info->tag.ptr); 
    20822084 
    2083     PJ_ASSERT_RETURN(len > 0 && len <= (int)sizeof(str_dest_buf)-str_dest.slen, 
    2084                      PJSIP_EURITOOLONG); 
     2085    PJ_ASSERT_ON_FAIL(len > 0 && len <= (int)sizeof(str_dest_buf)-str_dest.slen, 
     2086                      { status=PJSIP_EURITOOLONG; goto on_error; }); 
    20852087     
    20862088    str_dest.ptr = str_dest_buf; 
     
    20892091    pjsip_dlg_dec_lock(dest_dlg); 
    20902092     
    2091     return pjsua_call_xfer(call_id, &str_dest, msg_data); 
     2093    status = pjsua_call_xfer(call_id, &str_dest, msg_data); 
     2094 
     2095    pj_log_pop_indent(); 
     2096    return status; 
     2097 
     2098on_error: 
     2099    if (dest_dlg) pjsip_dlg_dec_lock(dest_dlg); 
     2100    pj_log_pop_indent(); 
     2101    return status; 
    20922102} 
    20932103 
     
    21002110{ 
    21012111    pjsua_call *call; 
    2102     pjsip_dialog *dlg; 
     2112    pjsip_dialog *dlg = NULL; 
    21032113    pj_status_t status; 
    21042114 
     
    21062116                     PJ_EINVAL); 
    21072117     
     2118    PJ_LOG(4,(THIS_FILE, "Call %d dialing DTMF %.*s", 
     2119                         call_id, (int)digits->slen, digits->ptr)); 
     2120    pj_log_push_indent(); 
     2121 
    21082122    status = acquire_call("pjsua_call_dial_dtmf()", call_id, &call, &dlg); 
    21092123    if (status != PJ_SUCCESS) 
    2110         return status; 
     2124        goto on_return; 
    21112125 
    21122126    if (!pjsua_call_has_media(call_id)) { 
    21132127        PJ_LOG(3,(THIS_FILE, "Media is not established yet!")); 
    2114         pjsip_dlg_dec_lock(dlg); 
    2115         return PJ_EINVALIDOP; 
     2128        status = PJ_EINVALIDOP; 
     2129        goto on_return; 
    21162130    } 
    21172131 
     
    21192133                call->media[call->audio_idx].strm.a.stream, digits); 
    21202134 
    2121     pjsip_dlg_dec_lock(dlg); 
    2122  
     2135on_return: 
     2136    if (dlg) pjsip_dlg_dec_lock(dlg); 
     2137    pj_log_pop_indent(); 
    21232138    return status; 
    21242139} 
     
    21352150{ 
    21362151    pjsua_call *call; 
    2137     pjsip_dialog *dlg; 
     2152    pjsip_dialog *dlg = NULL; 
    21382153    const pj_str_t mime_text_plain = pj_str("text/plain"); 
    21392154    pjsip_media_type ctype; 
     
    21422157    pj_status_t status; 
    21432158 
    2144  
    21452159    PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls, 
    21462160                     PJ_EINVAL); 
    21472161 
     2162    PJ_LOG(4,(THIS_FILE, "Call %d sending %d bytes MESSAGE..", 
     2163                          call_id, (int)content->slen)); 
     2164    pj_log_push_indent(); 
     2165 
    21482166    status = acquire_call("pjsua_call_send_im()", call_id, &call, &dlg); 
    21492167    if (status != PJ_SUCCESS) 
    2150         return status; 
     2168        goto on_return; 
    21512169     
    21522170    /* Set default media type if none is specified */ 
     
    22002218 
    22012219on_return: 
    2202     pjsip_dlg_dec_lock(dlg); 
     2220    if (dlg) pjsip_dlg_dec_lock(dlg); 
     2221    pj_log_pop_indent(); 
    22032222    return status; 
    22042223} 
     
    22132232{ 
    22142233    pjsua_call *call; 
    2215     pjsip_dialog *dlg; 
     2234    pjsip_dialog *dlg = NULL; 
    22162235    pjsip_tx_data *tdata; 
    22172236    pj_status_t status; 
     
    22202239                     PJ_EINVAL); 
    22212240 
     2241    PJ_LOG(4,(THIS_FILE, "Call %d sending typing indication..", 
     2242                          call_id)); 
     2243    pj_log_push_indent(); 
     2244 
    22222245    status = acquire_call("pjsua_call_send_typing_ind", call_id, &call, &dlg); 
    22232246    if (status != PJ_SUCCESS) 
    2224         return status; 
     2247        goto on_return; 
    22252248 
    22262249    /* Create request message. */ 
     
    22472270 
    22482271on_return: 
    2249     pjsip_dlg_dec_lock(dlg); 
     2272    if (dlg) pjsip_dlg_dec_lock(dlg); 
     2273    pj_log_pop_indent(); 
    22502274    return status; 
    22512275} 
     
    22602284{ 
    22612285    pjsua_call *call; 
    2262     pjsip_dialog *dlg; 
     2286    pjsip_dialog *dlg = NULL; 
    22632287    pjsip_method method; 
    22642288    pjsip_tx_data *tdata; 
     
    22682292                     PJ_EINVAL); 
    22692293 
     2294    PJ_LOG(4,(THIS_FILE, "Call %d sending %.*s request..", 
     2295                          call_id, (int)method_str->slen, method_str->ptr)); 
     2296    pj_log_push_indent(); 
     2297 
    22702298    status = acquire_call("pjsua_call_send_request", call_id, &call, &dlg); 
    22712299    if (status != PJ_SUCCESS) 
    2272         return status; 
     2300        goto on_return; 
    22732301 
    22742302    /* Init method */ 
     
    22932321 
    22942322on_return: 
    2295     pjsip_dlg_dec_lock(dlg); 
     2323    if (dlg) pjsip_dlg_dec_lock(dlg); 
     2324    pj_log_pop_indent(); 
    22962325    return status; 
    22972326} 
     
    23042333{ 
    23052334    unsigned i; 
     2335 
     2336    PJ_LOG(4,(THIS_FILE, "Hangup all calls..")); 
     2337    pj_log_push_indent(); 
    23062338 
    23072339    PJSUA_LOCK(); 
     
    23132345 
    23142346    PJSUA_UNLOCK(); 
     2347    pj_log_pop_indent(); 
    23152348} 
    23162349 
     
    26092642        return PJ_SUCCESS; 
    26102643 
    2611     PJ_LOG(3, (THIS_FILE, "Got answer with multiple codecs, scheduling " 
     2644    PJ_LOG(4, (THIS_FILE, "Got answer with multiple codecs, scheduling " 
    26122645                          "updating media session to use only one codec..")); 
    26132646 
     
    26352668    pjsua_call *call; 
    26362669 
     2670    pj_log_push_indent(); 
    26372671    PJSUA_LOCK(); 
    26382672 
     
    26412675    if (!call) { 
    26422676        PJSUA_UNLOCK(); 
     2677        pj_log_pop_indent(); 
    26432678        return; 
    26442679    } 
     
    27972832 
    27982833    PJSUA_UNLOCK(); 
     2834    pj_log_pop_indent(); 
    27992835} 
    28002836 
     
    29052941    //const pj_str_t st_update = {"UPDATE", 6}; 
    29062942 
     2943    pj_log_push_indent(); 
    29072944    PJSUA_LOCK(); 
    29082945 
     
    29302967        } 
    29312968 
    2932         PJSUA_UNLOCK(); 
    2933         return; 
     2969        goto on_return; 
    29342970    } 
    29352971 
     
    29422978                     status); 
    29432979        //call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); 
    2944         PJSUA_UNLOCK(); 
    2945         return; 
     2980        goto on_return; 
    29462981    } 
    29472982 
     
    29522987                     status); 
    29532988        //call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); 
    2954         PJSUA_UNLOCK(); 
    2955         return; 
     2989        goto on_return; 
    29562990    } 
    29572991 
     
    29713005         */ 
    29723006        /*pjsua_media_channel_deinit(call->index);*/ 
    2973         PJSUA_UNLOCK(); 
    2974         return; 
     3007        goto on_return; 
    29753008    } 
    29763009 
     
    29853018        pjsua_var.ua_cfg.cb.on_call_media_state(call->index); 
    29863019 
    2987  
     3020on_return: 
    29883021    PJSUA_UNLOCK(); 
     3022    pj_log_pop_indent(); 
    29893023} 
    29903024 
     
    31053139    PJ_LOG(4,(THIS_FILE, "Call %d: received updated media offer", 
    31063140              call->index)); 
     3141    pj_log_push_indent(); 
    31073142 
    31083143    status = pjsua_media_channel_create_sdp(call->index,  
     
    31113146    if (status != PJ_SUCCESS) { 
    31123147        pjsua_perror(THIS_FILE, "Unable to create local SDP", status); 
    3113         PJSUA_UNLOCK(); 
    3114         return; 
     3148        goto on_return; 
    31153149    } 
    31163150 
     
    31553189    if (status != PJ_SUCCESS) { 
    31563190        pjsua_perror(THIS_FILE, "Unable to set answer", status); 
    3157         PJSUA_UNLOCK(); 
    3158         return; 
    3159     } 
    3160  
     3191        goto on_return; 
     3192    } 
     3193 
     3194on_return: 
    31613195    PJSUA_UNLOCK(); 
     3196    pj_log_pop_indent(); 
    31623197} 
    31633198 
     
    31723207    pj_status_t status; 
    31733208 
     3209    pj_log_push_indent(); 
    31743210    PJSUA_LOCK(); 
    31753211 
     
    31933229    if (status != PJ_SUCCESS) { 
    31943230        pjsua_perror(THIS_FILE, "Unable to create local SDP", status); 
    3195         PJSUA_UNLOCK(); 
    3196         return; 
    3197     } 
    3198  
     3231        goto on_return; 
     3232    } 
     3233 
     3234on_return: 
    31993235    PJSUA_UNLOCK(); 
     3236    pj_log_pop_indent(); 
    32003237} 
    32013238 
     
    32093246     
    32103247    PJ_UNUSED_ARG(event); 
     3248 
     3249    pj_log_push_indent(); 
    32113250 
    32123251    /* 
     
    32973336        if (!call || !event || !pjsua_var.ua_cfg.cb.on_call_transfer_status) { 
    32983337            /* Application is not interested with call progress status */ 
    3299             return; 
     3338            goto on_return; 
    33003339        } 
    33013340 
     
    33143353                PJ_LOG(2,(THIS_FILE,  
    33153354                          "Warning: received NOTIFY without message body")); 
    3316                 return; 
     3355                goto on_return; 
    33173356            } 
    33183357 
     
    33243363                          "Warning: received NOTIFY with non message/sipfrag " 
    33253364                          "content")); 
    3326                 return; 
     3365                goto on_return; 
    33273366            } 
    33283367 
     
    33343373                          "Warning: received NOTIFY with invalid " 
    33353374                          "message/sipfrag content")); 
    3336                 return; 
     3375                goto on_return; 
    33373376            } 
    33383377 
     
    33663405        } 
    33673406    } 
     3407 
     3408on_return: 
     3409    pj_log_pop_indent(); 
    33683410} 
    33693411 
     
    33753417static void xfer_server_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) 
    33763418{ 
    3377      
    33783419    PJ_UNUSED_ARG(event); 
     3420 
     3421    pj_log_push_indent(); 
    33793422 
    33803423    /* 
     
    33873430        call = (pjsua_call*) pjsip_evsub_get_mod_data(sub, pjsua_var.mod.id); 
    33883431        if (!call) 
    3389             return; 
     3432            goto on_return; 
    33903433 
    33913434        pjsip_evsub_set_mod_data(sub, pjsua_var.mod.id, NULL); 
     
    33943437        PJ_LOG(4,(THIS_FILE, "Xfer server subscription terminated")); 
    33953438    } 
     3439 
     3440on_return: 
     3441    pj_log_pop_indent(); 
    33963442} 
    33973443 
     
    34203466    pjsip_evsub *sub; 
    34213467 
     3468    pj_log_push_indent(); 
     3469 
    34223470    existing_call = (pjsua_call*) inv->dlg->mod_data[pjsua_var.mod.id]; 
    34233471 
     
    34323480        PJ_LOG(4,(THIS_FILE, "Received REFER without Refer-To header!")); 
    34333481        pjsip_dlg_respond( inv->dlg, rdata, 400, NULL, NULL, NULL); 
    3434         return; 
     3482        goto on_return; 
    34353483    } 
    34363484 
     
    34633511        /* Application rejects call transfer request */ 
    34643512        pjsip_dlg_respond( inv->dlg, rdata, code, NULL, NULL, NULL); 
    3465         return; 
     3513        goto on_return; 
    34663514    } 
    34673515 
     
    34853533            pjsua_perror(THIS_FILE, "Unable to create 2xx response to REFER", 
    34863534                         status); 
    3487             return; 
     3535            goto on_return; 
    34883536        } 
    34893537 
     
    35013549            pjsua_perror(THIS_FILE, "Unable to create 2xx response to REFER", 
    35023550                         status); 
    3503             return; 
     3551            goto on_return; 
    35043552        } 
    35053553 
     
    35233571            pjsua_perror(THIS_FILE, "Unable to create xfer uas", status); 
    35243572            pjsip_dlg_respond( inv->dlg, rdata, 500, NULL, NULL, NULL); 
    3525             return; 
     3573            goto on_return; 
    35263574        } 
    35273575 
     
    35503598            pjsua_perror(THIS_FILE, "Unable to create NOTIFY to REFER",  
    35513599                         status); 
    3552             return; 
     3600            goto on_return; 
    35533601        } 
    35543602 
     
    35573605        if (status != PJ_SUCCESS) { 
    35583606            pjsua_perror(THIS_FILE, "Unable to send NOTIFY to REFER", status); 
    3559             return; 
     3607            goto on_return; 
    35603608        } 
    35613609    } 
     
    35953643                pjsua_perror(THIS_FILE, "Unable to create NOTIFY to REFER",  
    35963644                              status); 
    3597                 return; 
     3645                goto on_return; 
    35983646            } 
    35993647            status = pjsip_xfer_send_request(sub, tdata); 
     
    36013649                pjsua_perror(THIS_FILE, "Unable to send NOTIFY to REFER",  
    36023650                              status); 
    3603                 return; 
     3651                goto on_return; 
    36043652            } 
    36053653        } 
    3606         return; 
     3654        goto on_return; 
    36073655    } 
    36083656 
     
    36183666                                 &pjsua_var.calls[new_call]); 
    36193667    } 
     3668 
     3669on_return: 
     3670    pj_log_pop_indent(); 
    36203671} 
    36213672 
     
    36343685    pjsua_call *call; 
    36353686 
     3687    pj_log_push_indent(); 
    36363688    PJSUA_LOCK(); 
    36373689 
    36383690    call = (pjsua_call*) inv->dlg->mod_data[pjsua_var.mod.id]; 
    36393691 
    3640     if (call == NULL) { 
    3641         PJSUA_UNLOCK(); 
    3642         return; 
    3643     } 
     3692    if (call == NULL) 
     3693        goto on_return; 
    36443694 
    36453695    if (call->inv == NULL) { 
     
    36493699         * receive another REFER for this call. 
    36503700         */ 
    3651         PJSUA_UNLOCK(); 
    3652         return; 
     3701        goto on_return; 
    36533702    } 
    36543703 
     
    36953744            pjsip_dlg_respond( inv->dlg, rdata, PJSIP_SC_NOT_ACCEPTABLE_HERE,  
    36963745                               NULL, &hdr_list, NULL ); 
    3697             PJSUA_UNLOCK(); 
    3698             return; 
     3746            goto on_return; 
    36993747        } 
    37003748 
     
    37313779    } 
    37323780 
    3733  
     3781on_return: 
    37343782    PJSUA_UNLOCK(); 
     3783    pj_log_pop_indent(); 
    37353784} 
    37363785 
     
    37443793    pjsip_redirect_op op; 
    37453794 
     3795    pj_log_push_indent(); 
    37463796    PJSUA_LOCK(); 
    37473797 
     
    37583808 
    37593809    PJSUA_UNLOCK(); 
     3810    pj_log_pop_indent(); 
    37603811 
    37613812    return op; 
Note: See TracChangeset for help on using the changeset viewer.