Russell Bryant 1fc153fb5e Enable inbound SIP calls
Enable inbound SIP calls.  There are a few steps to this.

1) iptables config.  Open UDP and TCP port 5060 for SIP, as well as
UDP ports 10000-20000 for RTP.

2) Add a custom sip.conf which makes chan_sip listen on all address, including
IPv4 and IPv6.  Also enable unauthenticated inbound calls and send them to the
'public' dialplan context.

3) Create the dialplan.  Right now it just plays a sound prompt called 'spam'.
You'll have to call in to find out what it says.  Note that this required
installing the extra sounds.  There's a bunch of good stuff in there that
may be handy, other than just 'spam'.

Change-Id: I6b62511317603eedf9280b55a00ba5cee0611b62
2013-07-18 14:44:51 -04:00

62 lines
2.0 KiB
Puppet

# Copyright 2013 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Class to configure asterisk on a CentOS node.
#
# == Class: openstack_project::pbx
class openstack_project::pbx (
$sysadmins = [],
) {
class { 'openstack_project::server':
sysadmins => $sysadmins,
# SIP signaling is either TCP or UDP port 5060.
# RTP media (audio/video) uses a range of UDP ports.
iptables_public_tcp_ports => [5060],
iptables_public_udp_ports => [5060],
iptables_rules4 => ['-m udp -p udp --dport 10000:20000 -j ACCEPT'],
iptables_rules6 => ['-m udp -p udp --dport 10000:20000 -j ACCEPT'],
}
class { 'selinux':
mode => 'enforcing',
}
realize (
User::Virtual::Localuser['rbryant'],
)
class { 'asterisk':
asterisk_conf_source => 'puppet:///modules/openstack_project/pbx/asterisk/asterisk.conf',
modules_conf_source => 'puppet:///modules/openstack_project/pbx/asterisk/modules.conf',
}
file {'/etc/asterisk/sip.conf.d/sip.conf':
ensure => present,
owner => 'asterisk',
group => 'asterisk',
mode => '0660',
source => 'puppet:///modules/openstack_project/pbx/asterisk/sip.conf',
require => File['/etc/asterisk/'],
}
file {'/etc/asterisk/extensions.conf.d/extensions.conf':
ensure => present,
owner => 'asterisk',
group => 'asterisk',
mode => '0660',
source => 'puppet:///modules/openstack_project/pbx/asterisk/extensions.conf',
require => File['/etc/asterisk/'],
}
}