SARK V4.0.0 Multicast
SARK supports SIP multicast paging for compatible devices. Multicast is a very efficient way to page lots of endpoints. The traditional way to execute a "page" in Asterisk is to use the "Page" command. It works by connecting all of the phones in your page group to a conference room so you can broadcast to them. This technique doesn't work well for large numbers of phones because it takes a while to get them all into the conference and it can swamp your PBX by requiring more simultaneous voice channels than it can handle.
Multicast is much more elegant; it simply "multicasts" your page once over the network, thus putting very little load on your PBX. Any SIP device which is set to "listen" for your multicast will pick it up automatically.
Most well-designed professional SIP devices can listen for Multicasts, for example, most Aastra SIP phones, Cisco Small business phones (formerly Linksys), all Snoms and Yealinks and all of the new generation overhead SIP Public Address devices can do it as well as many others. If in doubt, check with your manufacturer.
First of all you need to set up one, or more, multicast groups. You do this by choosing the Multicast tab in the Features section and then clicking the new object button at the top right of the screen.
The group number is a unique 4 digit number that you will dial to page this multicast group. In practice this may be accessed by a speed-dial or function-key on the phones. Next you must fill out the multicast IP address. Multicast addresess ranges are preallocated, you can read about them here HERE. However, the so called "well known" SIP multicast IPV4 address is 18.104.22.168, so you might want to use that. You also need to choose a port to send on. In the above example we've used port 32000. Most SIP multicast devices only require a single port but Cisco/Linksys devices require 2. This is also supported in SARK and you can add a "Linksys" port as well as a regular one. Add a brief description and click Save.
Once you've issued a commit to send these new entities to the PBX, your multicast page is ready to use. In our example, simply dial 4000 from any phone and announce away. However, we'll also need to set up the devices to "listen" for our multicasts.
Below is an example of how to set up a Snom to receive our multicasts on 22.214.171.124:32000.
Snoms can listen on up to 10 different multicast addresses. If we go back to the extensions page on our demonstration system we can see that we have a Snom710 at Ext504.
We can proxy to the Ext504 phone's own browser by clicking on the "connected" icon. Then in the snom browser click "Advanced"->SIP/RTP and scroll to the bottom of the page where you will find the "multicast" section. Clcik the radio button to "on" and add thhe multicast address that we created in our multicast page.
Set up as many phones as you want/need to respond to this multicast and save your changes. Each phone you've set up will now respond to your multicasts. You can, of course, bulk-provision the multicast addresses by including them in the central SARK provisioning files for each device.
Yealink's multicast needs firmware 126.96.36.199 or better, however it works very well and is pretty easy to set up. The feature hides in an odd place - click Contacts->MulticastIP.
Fill it out as shown and save it away.
Below is an extract from the Asterisk Book In it you will see that they refer to 2 port addresses when multicasting to a Cisco/Linksys extension; in the example they use 1234 and 6061. 1234 is the equivalent of the 32000 port we use in our examples and 6061 is the special "linksys" port which you can specify to SARK when you create the multicast page group. By the way, if yo are wondering what happens when you have a mixed estate with both Linksys and non-Linksys phones in it, then simply specify your page group with the linksys port. Your other phones will still take the page, they will just ignore the Linksys bit (according to Digium).
The multicast paging feature on Cisco SPA phones is a bit strange, but once configured it works fine. The trick of it is that the address you put into the phone is not the multicast address that the page is sent across, but rather a sort of signaling channel.
What we have found is that you can make this address the same as the multicast address, but simply use a different port number.
The dialplan looks like this:
exten => *724,1,Page(MulticastRTP/linksys/188.8.131.52:1234/184.108.40.206:6061)
In the SPA phone, you need to log into the Administration interface and navigate to the SIP tab. At the very bottom of the page you will find the section called Linksys Key System Parameters. You need to set the following parameters:
Linksys Key System: Yes Multicast Address: 220.127.116.11:6061
Note that the multicast address you assign to the phone is the one that comes second in the channel definition (in our example, the one using port 6061).
Note that you can write the Page() command in this format in an environment where there is a mix of SPA phones (FKA Linksys, now Cisco) phones and other types of phones. The other phones will use the first address and will work the same as if you had used basic instead of linksys.
Good walk-through HERE