[SR-Users] Proposal for dialog: DLG_STATE_EARLY
Daniel-Constantin Mierla
miconda at gmail.com
Fri Jun 21 19:20:48 CEST 2013
Hello,
I have some comments related to the patches, as I couldn't dig much into
sources due to traveling constraints. See them inline.
On 6/14/13 2:10 PM, Halina Nowak wrote:
> These modifications were implementated for dialogs having PRACK and UPDATE
>
> --- a/modules/dialog/dlg_handlers.c Fri Jun 14 13:45:41 2013 +0200
> +++ b/modules/dialog/dlg_handlers.c Fri Jun 14 13:55:24 2013 +0200
> @@ -1249,16 +1249,18 @@
> }
>
> if ( (event==DLG_EVENT_REQ || event==DLG_EVENT_REQACK)
> - && new_state==DLG_STATE_CONFIRMED) {
> + && (new_state==DLG_STATE_CONFIRMED ||
> new_state==DLG_STATE_EARLY)) {
This above is to catch PRACK, right? UPDATE should be sent after 200ok,
or is allowed also for early dialogs?
>
> timeout = get_dlg_timeout(req);
> if (timeout!=default_timeout) {
> dlg->lifetime = timeout;
> }
> - if (update_dlg_timer( &dlg->tl, dlg->lifetime )==-1) {
> + if (new_state!=DLG_STATE_EARLY) {
> + if (update_dlg_timer( &dlg->tl, dlg->lifetime )==-1) {
> LM_ERR("failed to update dialog lifetime\n");
> + }
> }
> - if (update_cseqs(dlg, req, dir)!=0) {
> + if ((event != DLG_EVENT_REQACK) && (update_cseqs(dlg, req,
> dir)!=0)) {
> LM_ERR("cseqs update failed\n");
> } else {
> dlg->dflags |= DLG_FLAG_CHANGED;
>
> --- a/modules/dialog/dlg_hash.c Fri Jun 14 13:45:41 2013 +0200
> +++ b/modules/dialog/dlg_hash.c Fri Jun 14 13:55:24 2013 +0200
> @@ -883,6 +883,7 @@
> break;
> case DLG_EVENT_REQACK:
> switch (dlg->state) {
> + case DLG_STATE_EARLY:
> case DLG_STATE_CONFIRMED_NA:
> dlg->state = DLG_STATE_CONFIRMED;
Here it seems to go to state DLG_STATE_CONFIRMED due to an ACK even
there was no 200ok reply. Why is needed like that or have I
misunderstood something?
Cheers,
Daniel
--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20130621/5cd29709/attachment-0001.html>
More information about the sr-users
mailing list