Ignore:
Timestamp:
Oct 18, 2006 5:16:34 PM (15 years ago)
Author:
bennylp
Message:

Some changes to REFER handling in PJSUA-LIB:

  • added callback to report call transfer progress
  • changed the call transfer request callback name in pjsua
  • added "--norefersub" option in pjsua.
  • fixed bug when call transfer is done more than once in the same dialog (dialog usage can not be added)

Also removed 7xx status from the SIP status codes.

And added pjsip_parse_status_line() to parse sipfrag.

File:
1 edited

Legend:

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

    r729 r780  
    794794    for (index=0; index<dlg->usage_cnt; ++index) { 
    795795        if (dlg->usage[index] == mod) { 
    796             pj_assert(!"This module is already registered"); 
     796            /* Module may be registered more than once in the same dialog. 
     797             * For example, when call transfer fails, application may retry 
     798             * call transfer on the same dialog. 
     799             * So return PJ_SUCCESS here. 
     800             */ 
     801            PJ_LOG(4,(dlg->obj_name,  
     802                      "Module %.*s already registered as dialog usage, " 
     803                      "updating the data %p", 
     804                      (int)mod->name.slen, mod->name.ptr, mod_data)); 
     805            dlg->mod_data[mod->id] = mod_data; 
     806 
    797807            pjsip_dlg_dec_lock(dlg); 
    798             return PJSIP_ETYPEEXISTS; 
     808            return PJ_SUCCESS; 
     809 
     810            //pj_assert(!"This module is already registered"); 
     811            //pjsip_dlg_dec_lock(dlg); 
     812            //return PJSIP_ETYPEEXISTS; 
    799813        } 
    800814 
Note: See TracChangeset for help on using the changeset viewer.