[asterisk-dev] [Code Review] 3780: res_pjsip_outbound_publish / res_pjsip_publish_asterisk: Add outbound PUBLISH support with 'asterisk' event type.

Joshua Colp reviewboard at asterisk.org
Thu Aug 7 09:35:14 CDT 2014

This is an automatically generated e-mail. To reply, visit:

(Updated Aug. 7, 2014, 9:35 a.m.)


This change has been marked as submitted.

Review request for Asterisk Developers.


Committed in revision 420314

Repository: Asterisk


This adds two PJSIP modules which add outbound PUBLISH support and an 'asterisk' event type.

The res_pjsip_outbound_publish module is a common module which provides basic logic for setting up outbound PUBLISH clients, handling authentication requests, handling configuration, and lifetime. Extra modules implement specific event types which are registered with res_pjsip_outbound_publish. Since it takes care of configuration when an outbound PUBLISH is configured extra configuration can be passed to the event type implementation to further configure itself.

The res_pjsip_publish_asterisk module implements inbound and outbound support for an 'asterisk' event type. This event type conveys device and mailbox state between Asterisk instances using a JSON content body. As internal device or mailbox state changes the module sends a PUBLISH message to other configured instances. When a PUBLISH is received the contents are examined and a device or mailbox state change queued up within Asterisk. To restrict what is sent and received filtering is available using regular expressions which can reduce SIP traffic.

A wiki page is available at https://wiki.asterisk.org/wiki/display/~jcolp/Exchanging+Device+and+Mailbox+State+Using+PJSIP which has some configuration details with some examples. This should also be reviewed.


  /trunk/res/res_pjsip_pubsub.exports.in 420253 
  /trunk/res/res_pjsip_pubsub.c 420253 
  /trunk/res/res_pjsip_publish_asterisk.c PRE-CREATION 
  /trunk/res/res_pjsip_outbound_publish.exports.in PRE-CREATION 
  /trunk/res/res_pjsip_outbound_publish.c PRE-CREATION 
  /trunk/include/asterisk/res_pjsip_pubsub.h 420253 
  /trunk/include/asterisk/res_pjsip_outbound_publish.h PRE-CREATION 

Diff: https://reviewboard.asterisk.org/r/3780/diff/


Set up two Asterisk instances, configured both sides to publish to eachother, made calls and manipulated voicemail. Watched PUBLISH messages go between them and state change.


Joshua Colp

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140807/f33fd9c3/attachment-0001.html>

More information about the asterisk-dev mailing list