Hey folks, I've been looking into caller preferences and callee capabilities, and more specifically the "Priority" feature tag and how it should be encoded/interpreted.
The definition according to RFC3840 says: Summary of the media feature indicated by this tag: The sip.priority feature tag indicates the call priorities the device is willing to handle. A value of X means that the device is willing to take requests with priority X and higher. This does not imply that a phone has to reject calls of lower priority. As always, the decision on handling of such calls is a matter of local policy. Values appropriate for use with this feature tag: An integer. Each integral value corresponds to one of the possible values of the Priority header field as specified in SIP [1]. At the same time, the BNF, indicates possible "data-types" as: feature-param = enc-feature-tag [EQUAL LDQUOT (tag-value-list / string-value ) RDQUOT] enc-feature-tag = base-tags / other-tags base-tags = "audio" / "automata" / "class" / "duplex" / "data" / "control" / "mobility" / "description" / "events" / "priority" / "methods" / "schemes" / "application" / "video" / "language" / "type" / "isfocus" / "actor" / "text" / "extensions" tag-value-list = tag-value *("," tag-value) tag-value = ["!"] (token-nobang / boolean / numeric) token-nobang = 1*(alphanum / "-" / "." / "%" / "*" / "_" / "+" / "`" / "'" / "~" ) boolean = "TRUE" / "FALSE" numeric = "#" numeric-relation number numeric-relation = ">=" / "<=" / "=" / (number ":") number = [ "+" / "-" ] 1*DIGIT ["." 0*DIGIT] The ambiguity I am trying to resolve, is that "values appropriate" says *integer*, which would at first glance tell me to use the "numeric" construct for tag-value. This would give me the possibility to use values such as ;priority="#<=10" or similar for describing intervals/ranges of priority. But that collides with the summary description which says: "A value of X means....priority X and higher"...which would make the ">=;<=;=" operators redundant. At the same time, RFC3841 indicates that the matching process: The matching rules in RFC 2533 only require an implementation to know whether the feature tag is a numeric, token, or quoted string (booleans can be treated as tokens). Where the presence of param="#" indicates numeric. Without the "#", ;priority="10" becomes a token, and would be compared case-insensitive. "Priority X and higher" indicates numeric analysis, wheras token comparison does not. So, which is it? How is everyone else interpreting this? Regards Taisto Qvist IP-Solutions.se _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors