SIP Methods

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Additional methods)
(Enable MESSAGE Method)
Line 15: Line 15:
 
==== Enable MESSAGE Method ====
 
==== Enable MESSAGE Method ====
  
ysipchan.conf
+
This example allows chat and short files transfer between Twinkle clients using MESSAGE request method.
 +
A [http://tools.ietf.org/html/rfc3428 MESSAGE request method] transports instant messages using SIP
  
[methods]
+
regexroute.conf:
message=yes
+
 
+
In regexroute.conf
+
  
 
  [extra]
 
  [extra]
 
  sip.message=120
 
  sip.message=120
   
+
  sip.publish=120
 +
msg.route=25
 +
msg.execute=90
 +
 
 
  [sip.message]
 
  [sip.message]
 +
${xsip_type}^$=415
 
  .*=echo Got SIP MESSAGE type '${xsip_type}' ${xsip_body_encoding} from '${username}': ${xsip_body}
 
  .*=echo Got SIP MESSAGE type '${xsip_type}' ${xsip_body_encoding} from '${username}': ${xsip_body}
 +
.*=enqueue msg.execute;caller=${caller};called=${called};\
 +
  domain=${domain};callto=lateroute/${called};\
 +
  body_encoding=${xsip_body_encoding};type=${xsip_type};text=${xsip_body}
 +
.*=200
 +
 +
[sip.publish]
 +
${xsip_type}^application/pidf+xml$^=415
 +
${xsip_body}\(.*\)=echo Got SIP PRESENCE from '${username}':
 +
.*=200
 +
 +
[msg.route]
 +
.*=rename call.route;message=msg.route
 +
 +
[msg.execute]
 +
${callto}^sip/\(sip:.*\)$=rename xsip.generate;\
 +
method=MESSAGE;uri=;sip_From=;\
 +
xsip_type=${type$text/plain};xsip_body_encoding=${body_encoding};\
 +
xsip_body=${text}
 +
 +
 +
In ysipchan.conf:
 +
 +
[general]
 +
maxpkt=4096
 +
generate=yes
 +
 +
[methods]
 +
message=yes
 +
publish=yes
  
 
==== Enable SUBSCRIBE Method====
 
==== Enable SUBSCRIBE Method====

Revision as of 10:57, 9 November 2012

This page describes the Sip methods that are handled by default in Yate and how to enable the ones that are not generically handled.

Contents

SIP Methods in Yate

Some standard SIP methods can be handled generically in Yate like INVITE, CANCEL, ACK, BYE, REFER, OPTIONS and REGISTER.

For example SIP method INFO in a dialog is handled internally by Yate but dialogless is handled generically (by using parameter lazy100 in ysipchan.conf).

Additional methods

Use section [methods] from ysipchan.conf to allow/restrict the processing of specific SIP methods. For enabled methods yate will generate internal messages with name sip.<methodname> that can be handled from other modules.

Examples

Enable MESSAGE Method

This example allows chat and short files transfer between Twinkle clients using MESSAGE request method. A MESSAGE request method transports instant messages using SIP

regexroute.conf:

[extra]
sip.message=120
sip.publish=120
msg.route=25
msg.execute=90
[sip.message]
${xsip_type}^$=415
.*=echo Got SIP MESSAGE type '${xsip_type}' ${xsip_body_encoding} from '${username}': ${xsip_body}
.*=enqueue msg.execute;caller=${caller};called=${called};\
 domain=${domain};callto=lateroute/${called};\
 body_encoding=${xsip_body_encoding};type=${xsip_type};text=${xsip_body}
.*=200

[sip.publish]
${xsip_type}^application/pidf+xml$^=415
${xsip_body}\(.*\)=echo Got SIP PRESENCE from '${username}': 
.*=200

[msg.route]
.*=rename call.route;message=msg.route

[msg.execute]
${callto}^sip/\(sip:.*\)$=rename xsip.generate;\
method=MESSAGE;uri=;sip_From=;\
xsip_type=${type$text/plain};xsip_body_encoding=${body_encoding};\
xsip_body=${text}


In ysipchan.conf:

[general]
maxpkt=4096
generate=yes

[methods]
message=yes
publish=yes

Enable SUBSCRIBE Method

ysipchan.conf

[methods]
subscribe=yes

You then configure the allowed events for subscribing in sipfeatures.conf and define the logic for SUBSCRIBE/NOTIFY in subscription.conf.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers