Opened 8 years ago
Closed 8 years ago
#1936 closed defect (fixed)
Sending REGISTER always fails after losing network connection
Reported by: | nanang | Owned by: | bennylp |
---|---|---|---|
Priority: | normal | Milestone: | release-2.5.5 |
Component: | pjsip | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: | no |
Description
Reported that there is a case that sending REGISTER will always fail because regc->has_tsx value is always equal to PJ_TRUE and it is never changed, here is the detail:
- when sending SIP REGISTER message, pjsip_regc_send() will first set regc->has_tsx to PJ_TRUE then invoke pjsip_endpt_send_request().
- pjsip_tsx_create_uac() fails and callback specified in pjsip_endpt_send_request() param, i.e: regc_tsx_callback(), is not called.
- Unfortunately, the callback is the only place where regc->has_tsx will be resetted to PJ_FALSE.
- Any future calls to pjsip_regc_send() will return PJ_EBUSY as it thinks there is an outstanding transaction (represented by regc->has_tsx == PJ_TRUE).
Thanks Fredrik Hansson for the report and the fix.
Change History (1)
comment:1 Changed 8 years ago by nanang
- Resolution set to fixed
- Status changed from new to closed
Note: See
TracTickets for help on using
tickets.
In 5353: