Skip to content
Snippets Groups Projects
  • George Joseph's avatar
    51886c68
    pjsip_options: Add qualify_timeout processing and eventing · 51886c68
    George Joseph authored
    This is the second follow-on to https://reviewboard.asterisk.org/r/4572/ and the
    discussion at
    http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html
    
    
    
    The basic issues are that changes in contact status don't cause events to be
    emitted for the associated endpoint.  Only dynamic contact add/delete actions
    update the endpoint.  Also, the qualify timeout is fixed by pjsip at 32 seconds
    which is a long time.
    
    This patch makes use of the new transaction timeout feature in r4585 and
    provides the following capabilities...
    
    1.  A new aor/contact variable 'qualify_timeout' has been added that allows the
    user to specify the maximum time in milliseconds to wait for a response to an
    OPTIONS message.  The default is 3000ms.  When the timer expires, the contact is
    marked unavailable.
    
    2.  Contact status changes are now propagated up to the endpoint as follows...
    When any contact is 'Available', the endpoint is marked as 'Reachable'.  When
    all contacts are 'Unavailable', the endpoint is marked as 'Unreachable'.  The
    existing endpoint events are generated appropriately.
    
    ASTERISK-24863 #close
    
    Change-Id: Id0ce0528e58014da1324856ea537e7765466044a
    Tested-by: Dmitriy Serov
    Tested-by: default avatarGeorge Joseph <george.joseph@fairview5.com>
    51886c68
    History
    pjsip_options: Add qualify_timeout processing and eventing
    George Joseph authored
    This is the second follow-on to https://reviewboard.asterisk.org/r/4572/ and the
    discussion at
    http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html
    
    
    
    The basic issues are that changes in contact status don't cause events to be
    emitted for the associated endpoint.  Only dynamic contact add/delete actions
    update the endpoint.  Also, the qualify timeout is fixed by pjsip at 32 seconds
    which is a long time.
    
    This patch makes use of the new transaction timeout feature in r4585 and
    provides the following capabilities...
    
    1.  A new aor/contact variable 'qualify_timeout' has been added that allows the
    user to specify the maximum time in milliseconds to wait for a response to an
    OPTIONS message.  The default is 3000ms.  When the timer expires, the contact is
    marked unavailable.
    
    2.  Contact status changes are now propagated up to the endpoint as follows...
    When any contact is 'Available', the endpoint is marked as 'Reachable'.  When
    all contacts are 'Unavailable', the endpoint is marked as 'Unreachable'.  The
    existing endpoint events are generated appropriately.
    
    ASTERISK-24863 #close
    
    Change-Id: Id0ce0528e58014da1324856ea537e7765466044a
    Tested-by: Dmitriy Serov
    Tested-by: default avatarGeorge Joseph <george.joseph@fairview5.com>