On Fri, 2008-12-12 at 15:19 -0500, Arjun Nair wrote:
> Right, I understand.. I will implement it as:
> 
> if [ first_cseq == second_cesq ]
> then
>    if [ first_to_tag == second_to_tag
>         || first_to_tag.isNull         # <-- Support for matching dialog 
> forming
>         || second_to_tag.isNull ]      # <-- requests with the correct dialog
>    then
>    
>       if [ first_from_tag.isNull
>            && second_from_tag.isNull ]
>       then
>          if [ RFC 2543 : COMPARE THE ENTIRE FROM FIELD ]
>          then
>             DIALOG_MATCH = TRUE;
>          fi
>       else if [ first_from_tag == second_from_tag ]
>       then
>          DIALOG_MATCH = TRUE;
>       fi
> 
>    fi
> fi

There's another case that we've not considered, although the above
algorithm handles it correctly:  Consider a 2543 dialog, established
with a to-tag but no from-tag.  Then requests in the reverse direction
will have from-tags but no to-tag  (may appear to be out-of-dialog).

Dale


_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev

Reply via email to