[asterisk-dev] Asterisk and external SIP subscribtions

Olle E. Johansson oej at edvina.net
Wed Mar 19 11:22:48 CDT 2014


On 19 Mar 2014, at 16:59, Matthew Jordan <mjordan at digium.com> wrote:

> On Wed, Mar 19, 2014 at 10:00 AM, Olle E. Johansson <oej at edvina.net> wrote:
>> 
>> On 19 Mar 2014, at 15:55, Olle E. Johansson <oej at edvina.net> wrote:
>> 
>>> 
>>> On 19 Mar 2014, at 15:41, Matthew Jordan <mjordan at digium.com> wrote:
>>> 
>>>> On Wed, Mar 19, 2014 at 9:26 AM, Olle E. Johansson <oej at edvina.net> wrote:
>>>> 
>>>> <snip>
>>>> 
> 
> <snip>
> 
>>>> 
>>>> Fundamentally, I've been thinking about this problem more around
>>>> device states: that is, if all Asterisk instances have the ability to
>>>> share their device states - whatever those device states happen to
>>>> derive from - then every Asterisk instance can build the same
>>>> extension states if they so choose to. Or not - but it ends up being a
>>>> function of the Asterisk dialplan at each instance, as opposed to
>>>> something forced.
>>>> 
>>>> In a world where all Asterisk instances know of the device states for
>>>> any other Asterisk instance, can you explain why publishing extension
>>>> states are needed?
>>> 
>>> As I said - to off load NOTIFications to phones for blinking lamps.
>>> Asterisk PUBLISH extension state to the proxy. The proxy manages
>>> all the subscriptions. Everyone is happy and do what they do best.
>> 
>> BTW the PUBLISH is in the good ol' dialog-info XML format.
>> 
> 
> That makes sense. Thanks!
> 
> In Asterisk 12/trunk, both the extension state as well as device state
> have a subscription based API in Asterisk, so both should be readily
> doable without any changes in the core.
> 
> I looked in both pinana-initialize-devstate-1.8 as well as
> pinana-initialize-devstate-trunk,
Those two was just a small patch that I found during that work. It's not the core.
It's in pinana-publish-1.4
We got to a state where you could subscribe to the state between asterisk servers.

I think the dialplan hint was something like:

exten => 2001,hint,sipds:sip:3000 at atlanta.example.com

This would force a subscription on device states from another server - Kamailio
or Asterisk.

/O

=======

* sip_presence.conf.sample

; Configuration file for SIP presence integration
;
; This is where you configure
;  - presence servers to use
;  - which extensions to publish
;  - which devices to publish

[pinana-one]
type=presenceserver
; Domain for presence states published TO this server
domain=astritech.org
; Hostname can be DNS name or device in sip.conf
host=coreproxy7
filter=SIP/,meetme:

[pinana-two]
type=presenceserver
domain=devstate.astritech.org
;hostname used for this server
host=coreproxy8






More information about the asterisk-dev mailing list