Building an SIP PBX with sipXPBX

To read

DONE SipX Start Here

DONE sipX Stable Download Area for Fedora and CentOS

SipX Overview, Deployment & Architecture

SipX HOWTO Library

SipX Configuration Server

SipX@Home

HowTo install sipX 3.6 on Fedora Core 5

HowTo install sipX 3.4 on Fedora Core 5

VoIP Forum : General, FAQs, How to

SIPfoundry sipX - The Open Source SIP PBX for Linux

HowTo Configure DHCP and DNS Servers

Adding yum Repository

SIPxchange Admin and User Manuals (requires free registration)

Introduction

As of October 2006, sipXPBX this is the most serious alternative to Asterisk. Unlike Asterisk, and as the name implies, sipXPBX was written from the start to run as an SIP server, while Asterisk was started years ago when things were as clear and H.323 seemed to be on its way to become the standard in VoIP. For more information, read How to Compare sipX ECS with the Asterisk PBX (sipX vs. Asterisk). Note that Asterisk and sipXPBX can be used together.

sipXPBX is built from the following parts:

Here's a list of features.

As of Oct 2006, the site is a bit of a mess: part of it is located on www.sipfoundry.org, while the other part is located on http://sipx-wiki.calivia.com, and installation instructions are located in different documents. Why is part of the sipX stuff located on http://www.calivia.com ? "Calivia is actively participating in the development of the Open Source IP PBX software sipX from SIPfoundry. We currently maintain and host the sipX documentation Wiki. The Wiki started as our own documentation site as we began working with sipX on Gentoo Linux. After only two month of public operation it already hosted a wealth of information regarding SIP technology in general and the sipX software in particular."

Setting up Fedora 5

See this.

Setting up sipXPBX

  1. Download sipxPBX 3.6 Beta

    wget -P /etc/yum.repos.d http://www.sipfoundry.org/pub/sipX/sipx-fc.repo

    yum install --enablerepo=sipx-testing sipxpbx
    (Until 3.6 is released, you'll need to add --enablerepo=sipx-testing to every yum command.)
  2. Create a valid SSL certificate

    mkdir $HOME/sslkeys
    cd $HOME/sslkeys

    /usr/bin/ssl-cert/gen-ssl-keys.sh
    where "CA Common Name" is anything BUT NOT the DNS name of your server, "SIP domain name" is the domain name of your installation, and "Full DNS name for the server" is the fully qualified hostname of your sipX server

    /usr/bin/ssl-cert/install-cert.sh

  3. /sbin/service sipxpbx start OR /etc/init.d/sipxpbx start OR /etc/rc.d/init.d/sipxpbx start. You'll see errors linked to PostGreSQL, but they'll go away the second time you run sipX
  4. Aim your browser at the server http://sipx.your.domain . First, you are asked to define a password for the superadmin user. Once entered successfully, you should then login as user superadmin, and proceed with creating users, phones, and trunks.

Managing the server

Creating users

Add a group: User > User Groups > Add Group : PhoneUsers

Select group to view/change permissions

Add a couple of Users: Users > Users > Add User. Note that Groups doesn't come with a combobox: you must type the group name(s) yourself

GAVE UP: Can't register phone, couldn't restart service, logging didn't work -> Asterisk

 

  1. Create a user: name (+ extension as an alias), PIN to check voicemail and logon to the configuration server as user; The SIP password is auto-generated by the system to assure maximum security. Aliases are case-sensitive. You can set up zero, one, or more aliases for a user using a comma separated list.
  2. Users can and should be members of one or several groups. Groups not only allow you to logically group users together, but groups are also used to define permissions. Make sure you set permissions for the user, either on a per user basis by clicking on the Permissions link or by setting permissions for the group the user is a member of.

    The distinction between general permissions and call permissions is not always perfectly intuitive, but, generally, call permissions influence call routing privileges (i.e. access to dial plan) where general permissions determine access to system functions. 
  3. After you've created users and phones, you need to assign users to their phones. Click on Add Line. You can search for a specific user or just click Search with empty fields, which will list all users. Select a user and press Select. You have now attached that user to the device. Dependent on the phone model, several lines can be attached to a device.

Adding an external phone line

(needed? looks like link to remote PBX)

After adding at least one phone to your system, navigate to the phone you'd like to add the line to, and click on the "Lines" link on the left-hand side of the page. Click on the "Add External Line" link and fill in the registration information for this line.

Adding an SIP Trunk

No information at http://sipx-wiki.calivia.com/index.php/How_to_configure_SIP_Trunks

Dial plan & routing

How to configure Dial Plans

How to Localize the Dial Plan

How to configure User Call Forwarding

How to configure Caller ID

How to configure Domain Aliases

Voicemail

HowTo Configure the sipX Voicemail Service

HowTo record custom voice prompts

HowTo configure the sipX Auto Attendant

Checking processes and configuration

/etc/init.d/sipxpbx status

/etc/init.d/sipxpbx configtest

Resetting the superadmin password

/usr/bin/sipxconfig.sh --database reset-superadmin

Changing user passwords

The SIP password required to authenticate with sipX is auto-generated by sipX. It can be viewed / changed by pressing Show Advanced Settings.

Resources