Difference between revisions of "Telephone system:shoutcast streams"

From Hackerspace ACKspace
Jump to: navigation, search
m (added party line (not really well tested))
m (updated (official) number plan, extended to 9 conference rooms)
Line 15: Line 15:
 
=== totally muted single stream ===
 
=== totally muted single stream ===
 
==== dialplan ====
 
==== dialplan ====
This sample is the 1301 to 1303, used for dialing in one of three rooms when a conference is happening.
+
This sample is the 1301 to 1309, used for dialing in one of nine rooms when a conference is happening.
 
When there currently is no event, the <abbr title="special information tone">SIT</abbr> will be played
 
When there currently is no event, the <abbr title="special information tone">SIT</abbr> will be played
  
Line 22: Line 22:
 
<pre>
 
<pre>
 
     <extension name="event">
 
     <extension name="event">
       <condition field="destination_number" expression="^130([1-3])$">
+
       <condition field="destination_number" expression="^130([1-9])$">
 
         <action application="answer"/>
 
         <action application="answer"/>
 
         <!-- This is a moderated muted conference, which will give you the single MOH stream without moderator
 
         <!-- This is a moderated muted conference, which will give you the single MOH stream without moderator
Line 62: Line 62:
 
=== party line listening to the muted stream ===
 
=== party line listening to the muted stream ===
 
==== dialplan ====
 
==== dialplan ====
This sample is the 1311 to 1313, used for dialing in one of three rooms when a conference is happening.
+
This sample is the 1391 to 1399, used for dialing in one of nine rooms when a conference is happening.
 
When there currently is no event, the <abbr title="special information tone">SIT</abbr> will be played
 
When there currently is no event, the <abbr title="special information tone">SIT</abbr> will be played
  
Line 69: Line 69:
 
<pre>
 
<pre>
 
     <extension name="event partyline">
 
     <extension name="event partyline">
       <condition field="destination_number" expression="^131([1-3])$">
+
       <condition field="destination_number" expression="^139([1-9])$">
 
         <action application="answer"/>
 
         <action application="answer"/>
 
         <!-- This is an unmoderated conference, which will give you the single MOH stream
 
         <!-- This is an unmoderated conference, which will give you the single MOH stream
Line 76: Line 76:
 
         <action application="conference_set_auto_outcall" data="loopback/130$1"/>
 
         <action application="conference_set_auto_outcall" data="loopback/130$1"/>
  
         <action application="conference" data="131$1@partystream+flags{mintwo}"/>
+
         <action application="conference" data="139$1@partystream+flags{mintwo}"/>
 
       </condition>
 
       </condition>
 
     </extension>
 
     </extension>

Revision as of 18:18, 12 April 2017

Synopsis

ACKspace has several shoutcast streams you can dial in to. To see the list of streams, see the dialplan

Normally, the streams are put in a local stream.loc file, but this will cause FS to open all streams, even when there are no listeners. Since we have so many, this is not an option.

Also, when you set a MOH per user, this will open the same stream simultaneously for each caller.

The setup mentioned below will start one stream for the first caller, and will close it after the last caller leaves.

implementation

totally muted single stream

dialplan

This sample is the 1301 to 1309, used for dialing in one of nine rooms when a conference is happening. When there currently is no event, the SIT will be played

The users are muted, but also will there never be a moderator, which causes the other callers to listen to MOH indefinitely.

    <extension name="event">
      <condition field="destination_number" expression="^130([1-9])$">
        <action application="answer"/>
        <!-- This is a moderated muted conference, which will give you the single MOH stream without moderator
             make sure moh is not set in the conference params, so we can set it here
             also, don't set the enter and leave (global) sounds, since it will reconnect the stream -->

        <action application="set" data="conference_moh_sound=tone_stream://$${sit}"/>
        <!--action application="set" data="conference_moh_sound=shout://someserver/$1.mp3"/-->

        <action application="conference" data="130$1@stream+flags{mute}"/>
      </condition>
    </extension>


conference.conf.xml profile

For this to work, a separate conference profile needs to be used: It doesn't have a MOH set, so it can be overridden at the dial plan. Also, it doesn't have announcements sound set, so the stream doesn't reconnect after a user enters or leaves.

    <profile name="stream">
      <param name="domain" value="$${domain}"/>
      <param name="rate" value="32000"/>
      <param name="interval" value="20"/>
      <param name="energy-level" value="300"/>
      <param name="muted-sound" value="conference/conf-muted.wav"/>
      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
      <param name="pin-sound" value="conference/conf-pin.wav"/>
      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
      <param name="caller-id-name" value="$${outbound_caller_name}"/>
      <param name="caller-id-number" value="$${outbound_caller_id}"/>
      
      <param name="comfort-noise" value="false"/>
      <param name="conference-flags" value="wait-mod"/>
      <param name="caller-controls" value="none"/>
    </profile>

party line listening to the muted stream

dialplan

This sample is the 1391 to 1399, used for dialing in one of nine rooms when a conference is happening. When there currently is no event, the SIT will be played

When the first user calls in, it will automatically add the streaming MOH conference, so that they can chat while the stream is playing on the background. It will stop the conference when the last (real) person hangs up.

    <extension name="event partyline">
      <condition field="destination_number" expression="^139([1-9])$">
        <action application="answer"/>
        <!-- This is an unmoderated conference, which will give you the single MOH stream
             don't set moh in the conference params -->

        <action application="conference_set_auto_outcall" data="loopback/130$1"/>

        <action application="conference" data="139$1@partystream+flags{mintwo}"/>
      </condition>
    </extension>

conference.conf.xml profile

For this to work, a separate conference profile needs to be used: It doesn't have a MOH set, since it adds the MOH stream conference Also, it doesn't have announcements sound set, so the stream doesn't reconnect after a user enters or leaves.

    <profile name="partystream">
      <param name="domain" value="$${domain}"/>
      <param name="rate" value="32000"/>
      <param name="interval" value="20"/>
      <param name="energy-level" value="300"/>
      <param name="muted-sound" value="conference/conf-muted.wav"/>
      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
      <param name="pin-sound" value="conference/conf-pin.wav"/>
      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
      <param name="caller-id-name" value="$${outbound_caller_name}"/>
      <param name="caller-id-number" value="$${outbound_caller_id}"/>
      
      <param name="comfort-noise" value="false"/>
    </profile>