SIP Features Module

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
([allow_events])
 
(46 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page describes the file to use for SIP features in Yate.
+
This module is used when:
 +
* SIP Methods like SUBSCRIBE and NOTIFY are required.  
 +
* a user is subscribed to receive notification if another user is called or has messages.
 +
 
 +
== Implemented SIP Methods==
  
=== SIP Methods===
 
 
This module implements the following SIP methods:
 
This module implements the following SIP methods:
  
Line 7: Line 10:
 
* NOTIFY - Notify SIP clients when an event's state changed
 
* NOTIFY - Notify SIP clients when an event's state changed
  
To enable the subcribe method set:  
+
To enable the subscribe method set:  
  
 
ysipchan.conf
 
ysipchan.conf
 
  [methods]
 
  [methods]
 
  subscribe=yes
 
  subscribe=yes
=== Message handlers ===
 
  
Internally Yate will handle the following messages:
+
To configure the logic of how to handle the subscriptions and the notifications use [[Subscriptions|subscription.conf]] file.
  
* [[SIP Generic Message|sip.subscribe]] Used to generate a [[resource.subscribe]] message
+
This module is the abstractization between the SIP protocol and the subscriptions and register modules that implement the above functions in a protocol-independent way.
* [[resource.notify]] Used to generate a [[xsip.generate]] message with method=NOTIFY
+
  
=== Configuration file ===
+
== Message handlers ==
  
sipfeatures.conf contains sections:
+
Internally Yate will handle the following messages:
  
==== [general]====
+
* [[SIP Generic Message|sip.subscribe]] - SIP generic message sent from ysipchan module and used to generate a [[resource.subscribe]] message
* expires_min: int: Minimum allowed expiring time in seconds. Defaults to 60
+
* [[resource.notify]] Used to generate a [[xsip.generate]] message with method=NOTIFY. resource.notify is sent from the modules that follow the events and decide when notifications should be sent (e.g. [[register]], [[subscriptions]])
* expires_def: int: Default expiring time if not present in requests. Defaults to 600
+
* expires_max: int: Value used to limit the expiring time to something sane. Defaults to 3600
+
* forcedialogdata: boolean: Force (fill if missing) some parameters (dialog.callid, dialog.localtag, dialog.remotetag, dialog.remoteuri) in dialog state notification if made for a valid dialog (dialog.id is not empty). Defaults to enable.
+
  
==== [allow_events]====
+
== Allowed events ==
  
Restrict/allow subscriptions to individual events. If an event is disabled, no subscriptions to it will be allowed
+
Use section '''[allow_events]''' to restrict/allow subscriptions to individual events. If an event is disabled, no subscriptions to it will be allowed.
  
 +
The supported events are: '''dialog''' and '''message-summary'''.
 +
 +
Section '''[allow_events]''' has the following settings:
 
* default: boolean: Default value if an event is not listed here. Defaults to enable
 
* default: boolean: Default value if an event is not listed here. Defaults to enable
 
* dialog: boolean: Enable/disable subscriptions to dialog state events. Defaults to enable
 
* dialog: boolean: Enable/disable subscriptions to dialog state events. Defaults to enable
 
* message-summary: boolean: Enable/disable subscriptions to message waiting events. Defaults to enable
 
* message-summary: boolean: Enable/disable subscriptions to message waiting events. Defaults to enable
  
To use all the above parameters you must use [[Subscriptions|subscription.conf]] file.
+
== Configuration file ==
  
<!--Configuration file sipfeatures.conf
+
Configuration file sipfeatures.conf
  
 
  ; This file configures the SIP feature module
 
  ; This file configures the SIP feature module
Line 76: Line 77:
 
   
 
   
 
  ; dialog: boolean: Enable/disable subscriptions to message waiting events
 
  ; dialog: boolean: Enable/disable subscriptions to message waiting events
  ;message-summary=enable-->
+
  ;message-summary=enable
 +
 
 +
 
 +
'''See also'''
 +
 
 +
* [[Subscriptions|Subscriptions module]]
 +
* [[SIP Configuration File]]
 +
* [[SIP Routing in Yate]]
 +
* [[register|Register module]]
 +
* [[Telephony]]
 +
 
 +
[[Category:SIP]] [[Category:Subscribe]] [[Category:Notify]] [[Category:Dialog]] [[Category:Message-summary]]

Latest revision as of 12:16, 9 April 2015

This module is used when:

  • SIP Methods like SUBSCRIBE and NOTIFY are required.
  • a user is subscribed to receive notification if another user is called or has messages.

Contents

[edit] Implemented SIP Methods

This module implements the following SIP methods:

  • SUBSCRIBE - Allow SIP clients to subscribe to specific events
  • NOTIFY - Notify SIP clients when an event's state changed

To enable the subscribe method set:

ysipchan.conf

[methods]
subscribe=yes

To configure the logic of how to handle the subscriptions and the notifications use subscription.conf file.

This module is the abstractization between the SIP protocol and the subscriptions and register modules that implement the above functions in a protocol-independent way.

[edit] Message handlers

Internally Yate will handle the following messages:

[edit] Allowed events

Use section [allow_events] to restrict/allow subscriptions to individual events. If an event is disabled, no subscriptions to it will be allowed.

The supported events are: dialog and message-summary.

Section [allow_events] has the following settings:

  • default: boolean: Default value if an event is not listed here. Defaults to enable
  • dialog: boolean: Enable/disable subscriptions to dialog state events. Defaults to enable
  • message-summary: boolean: Enable/disable subscriptions to message waiting events. Defaults to enable

[edit] Configuration file

Configuration file sipfeatures.conf

; This file configures the SIP feature module

[general]
 
; expires_min: int: Minimum allowed expiring time in seconds
;expires_min=60
 
; expires_def: int: Default expiring time if not present in requests
;expires_def=600
 
; expires_max: int: Value used to limit the expiring time to something sane
;expires_max=3600

; forcedialogdata: boolean: Force (fill if missing) some parameters (dialog.callid,
;  dialog.localtag, dialog.remotetag, dialog.remoteuri) in dialog state notification,
;  if made for a valid dialog (dialog.id is not empty)
; Defaults to enable
;forcedialogdata=enable

; verbosexml: boolean: Build verbose XML bodies (add line breaks and spaces)
; A dialog XML notification body will spare about 38 chars if this option is disabled
; Defaults to enable
;verbosexml=enable

[allow_events]
; Restrict/allow subscriptions to individual events
; If an event is disabled, no subscriptions to it will be allowed

; default: boolean: Default value if an event is not listed here
;default=enable

; dialog: boolean: Enable/disable subscriptions to dialog state events
;dialog=enable

; dialog: boolean: Enable/disable subscriptions to message waiting events
;message-summary=enable


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers