Opened 17 years ago
Last modified 17 years ago
#530 new defect
Transaction PJSIP_TSX_STATE_TRYING state is not propaged properly to dialog usages
Reported by: | bennylp | Owned by: | bennylp |
---|---|---|---|
Priority: | normal | Milestone: | Known-Issues-and-Ideas |
Component: | pjsip | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: |
Description
Symptoms:
- UAS/server presence subscription is not terminated when client does not refresh subscription. This is because PJSIP_TSX_STATE_TRYING state is is never called, causing the code to schedule timeout timer to never get invoked.
The transaction's PJSIP_TSX_STATE_TRYING state is called when pjsip_tsx_recv_msg() is called. Currently this is called by the dialog, when pjsip_dlg_create_uas() is called. Unfortunately, when pjsip_dlg_create_uas() is invoked, no usages have been registered to the dialog, and when the usages are registered, the event has been lost.
The proper solution is either to call pjsip_tsx_recv_msg() in the session level (invite session or presence), or to modify the usages to not depend on the PJSIP_TSX_STATE_TRYING state.
Change History (1)
comment:1 Changed 17 years ago by bennylp
- Milestone changed from release-0.9.0 to Known-Issues