Subject: [sipcore] How to construct a finite state machine to select an alerting signal

From: [email-masked] (Dale R. Worley)
Date: Tue, 28 Jun 2016 15:04:03 -0400

I've worked out how to construct a finite state machine to process the
'alert' URNs in an Alert-Info header to select one of the alerting
signals of a UA.  Once you fix the set of signals and their meanings
(the URNs that the signal indicates), there's an algorithm that
constructs the FSM, and it ensures that FSM satisfies the rules in RFC
7462.

I've written a draft to describe the process in detail.  The draft also
points to an implementation of the algorithm in Python, so people can
try out this method and see how it works for them.

I'd like to hear any feedback you have.

Dale

A new version of I-D, draft-worley-alert-info-fsm-02.txt
has been successfully submitted by Dale R. Worley and posted to the
IETF repository.

Name:		draft-worley-alert-info-fsm
Revision:	02
Title:		A Simpler Method for Processing Alert-Info URNs
Document date:	2016-06-05
Group:		Individual Submission
Pages:		36
URL:            https://www.ietf.org/internet-drafts/draft-worley-alert-info-fsm-02.txt
Status:         https://datatracker.ietf.org/doc/draft-worley-alert-info-fsm/
Htmlized:       https://tools.ietf.org/html/draft-worley-alert-info-fsm-02
Diff:           https://www.ietf.org/rfcdiff?url2=draft-worley-alert-info-fsm-02

Abstract:
   The "alert" namespace of uniform resource names (URNs) can be used in
   the Alert-Info header field of Session Initiation Protocol (SIP)
   requests and responses to inform a VoIP telephone (user agent) of the
   characteristics of the call that the user agent has originated or
   terminated.  Based on the URNs in the Alert-Info header field, the
   user agent must select an the best available signal to present to its
   user to indicate the characteristics of the call.  This document
   describes a method by which a user agent's designer can, based on the
   user agent's signals and their meanings, constructing a finite state
   machine (FSM) to process the URNs to select a signal in a way that
   obeys the restrictions given in the definition of the "alert" URN
   namespace.  In many situations, the resulting FSM is simpler and
   faster than the previously described selection algorithm.