Skip to content

siremis kurulumu

https://ferhatcicek.com/siremis/ yazısında siremis hakkında temel bilgileri blogumda paylaşmıştım. kamailio kullanıyorsanız siremis olmazsa olmazınızdır. sistemizde kamaili nun kurulu olduğunu düşünerek siremisi nasıl kuracağımızı basitçe anlatmaya başlayalım. öncelikle

http://siremis.asipto.com/pub/downloads/siremis/

adresinden güncel sürümü indirelim. şu an güncel sürüm 4.2. indirdiğiz yazılımı uygun bir noktada açalım.

root@cicek:/var/www# tar zxvf siremis-4.2.0.tgz 

açılan dizin içine girerek apache konfigürasyon dosyalarında eklemiz gereken satırları oluşturacak olan make komutunu çalıştıralım. burada kullandığınız apache sürümü önemli. ben sistemimde 2.4 sürümünü kullandığım için apache24-conf parametresini kullandım.

root@cicek:/var/www# cd siremis-4.2.0/
root@cicek:/var/www/siremis-4.2.0# ls
ChangeLog  Makefile  misc  openbiz  README  siremis
root@cicek:/var/www/siremis-4.2.0# make apache24-conf
# siremis apache conf snippet ...

	Alias /siremis "/var/www/siremis-4.2.0/siremis"
	<Directory "/var/www/siremis-4.2.0/siremis">
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Require all granted
		<FilesMatch "\.xml$">
			Require all denied
		
		<FilesMatch "\.inc$">
			Require all denied
		
	

bu kodu apachenin 000-default.conf konfigürasyon dosyası içine ekliyoruz. ben şu an debian kullanıyorum ve bu dosyanın yeri /etc/apache2/sites-available/000-default.conf şeklinde.

root@cicek:/etc/apache2/sites-available# nano /etc/apache2/sites-available/000-default.conf 

gerekli değişiklik yapıldıktan sonra apache yi yeniden başlatıyoruz.

root@cicek:/etc/apache2/sites-available# service apache2 restart 

bundan sonra gerekli erişim ve yetki ayarlamalarını yapılabilmesi için prepare ve chown parametrelerini işletiyoruz.

root@cicek:/var/www/siremis-4.2.0# make prepare
updating htaccess file...
updating app.inc file...
creating folders...
done

root@cicek:/var/www/siremis-4.2.0# make chown
changing onwner to www-data:www-data ...
chown -R www-data:www-data .

şimdi internet tarayıcımızdan http://locahost/siremis/ adresine erişim testi yapalım. erişim testi başarılı ise sıra siremis için mysql kullanıcı erişim ayarlarının yapılmasına geldi.

root@cicek:/var/www/siremis-4.2.0# mysql  -u root -p 
Enter password: 

mysql> GRANT ALL PRIVILEGES ON siremis.* TO siremis@localhost IDENTIFIED BY 'siremisrw';
Query OK, 0 rows affected (0.05 sec)

kanailio nunda tabiki mysql eklentisinin aktif edilmiş ve ayarlarının yapılmış olması gerekmektedir. eğer yok ise kuralım ve kurulum sonrası /etc/kamailio/kamctlrc dosyası üzerinde mysql aktif eder mysql ile ilgili ayarlarıda yapalım.

root@cicek:/etc/kamailio# apt-get install kamailio-mysql-modules 
root@cicek:/etc/kamailio# ls
dictionary.kamailio    kamailio-basic.cfg  kamctlrc
kamailio-advanced.cfg  kamailio.cfg        pi_framework.xml
root@cicek:/etc/kamailio# nano kamctlrc 
DBENGINE=MYSQL
DBHOST=localhost
DBNAME=kamailio
DBRWUSER="kamailio"
DBRWPW="kamailiorw"
DBROUSER="kamailioro"
DBROOTUSER="root"

sonrasında ysql veri tabanı ile ilgili işlemlerin yapılması için kamailionun kamdbctl aracını çalıştıralım

root@cicek:/etc/kamailio# kamdbctl create
MySQL password for root: 
INFO: test server charset
INFO: creating database kamailio ...
INFO: granting privileges to database kamailio ...
INFO: creating standard tables into kamailio ...
INFO: Core Kamailio tables succesfully created.
Install presence related tables? (y/n): y
INFO: creating presence tables into kamailio ...
INFO: Presence tables succesfully created.
Install tables for imc cpl siptrace domainpolicy carrierroute
		userblacklist htable purple uac pipelimit mtree sca mohqueue
		rtpproxy? (y/n): y
INFO: creating extra tables into kamailio ...
INFO: Extra tables succesfully created.
Install tables for uid_auth_db uid_avp_db uid_domain uid_gflags
		uid_uri_db? (y/n): y
INFO: creating uid tables into kamailio ...
INFO: UID tables succesfully created.
root@cicek:/etc/kamailio# 

buraya kadar sorunsuz olarak geldiyseniz sıre siremisin web arayüzünden kurulumu tamamlamaya geldi.

http://locahost/siremis/ adresinden aşagıdaki ekran görüntülerinde yer aldığı gibi gerekli verileri girerek tamamlıyoruz.

siremis1

siremis2

siremis3

siremis4

siremis5

siremis6

siremis artık kullanıma hazırdır. ancak

[{"target":"ERROR","content":"
\n[2015-07-03 10:01:48 (GMT)] An exception occurred while executing this script:
\nError message: #8192, Non-static method BizSystem::getConfiguration() should not be called statically, assuming $this from incompatible context< \/font>
\nScript name and line number of error: \/var\/www\/siremis-4.2.0\/openbiz\/bin\/data\/BizDataObj_Abstract.php:268< \/font>
\n

hatasını veya benzer hataları alacak olursanız https://github.com/asipto/siremis üzerinden en sonra halini indirerek denemenizi öneririm.

bunlardan sonra siremiz altındaki install klasörünü silmeniz önerilmektedir.

Siremis

SIREMIS:  Open Source Web Management Interface for SIP Routing Engines:

Latest release: v4.1.0, Marc 25, 2014

Demo of v2.0  (Same core framework is used in v2.1.0, v3.x.x and v4.x.x). Note that several admin components are disabled):

Demo of v1.x:

Among features:

  • provides system and database administration tools for  Kamailio (OpenSER)
  • subscriber, database aliases and speed dial management
  • location table view (online phones ““ registrations)
  • presence services management
  • sip trace records view and search
  • dispatcher (load balancing), prefix-domain translation and least cost routing (lcr) management
  • access control lists (user groups) and permissions management
  • accounting records and missed calls views
  • manage call data records (generated from acc records)
  • hash table, dial plan table and user preferences table management
  • offline message storage, presence service and sip trace views
  • communication with  Kamailio (OpenSER)  via MI UDP sockets
  • communication with  Kamailio (OpenSER) 3.x  and  SIP-Router.org  via XMLRPC
  • communication with  FreeSWITCH  via event socket
  • create and display charts from statistic data stored by  Kamailio (OpenSER)
  • server load charts (used memory, SIP requests traffic, “¦)
  • user location statistics charts
  • accounting statistics charts
  • accounting records summary
  • SQL-based rating engine for billing CDRs
  • SIP user own profile management

Internal design:

  • developed using  PHPOpenBiz  Framework
  • easy to install and extend
  • developed on top of a framework: PHP/Web2.0/Ajax
  • XML Metadata driven extensions
  • Model-View-Controller (MVC) architecture

Roadmap:

  • Addition of management for the other tables from  Kamailio (OpenSER)  database
  • Inclusion of more view relations between tables in order to give a better navigation through the records
  • Input validation

Kamailio

Kamailio version 4.0 is a combined package of the former OpenSER and SIP Express Router servers. You can have now have access to all features of Kamailio and SIP Express Router (SER) in the same SIP server instance.

Combining its SIP core capabilities and extensible APIs, building VoIP and Unified Communication Platforms using  Kamailio  (K) is straightforward.

Some of the features that Kamailio ®  offers:

  • Robust and Performant SIP (RFC3261) Server  flavours
    • Registrar server
    • Location server
    • Proxy server
    • SIP Application server
    • Redirect server
  • Flexibility
    • small footprint ““ suitable for embedded devices ““ the binary file is small size, functionality can be stripped/added via modules
    • plug&play module interface ““ ability to add new extensions, without touching the core, therefore assuring a great stability of core components
    • modular architecture ““ core, internal libraries and module interface to extend the server’s functionality
    • impressive extension repository ““ overall more than 150 modules are included in the Kamailio source tree
  • SIP Routing Capabilities
    • stateless and transactional stateful SIP Proxy processing
    • serial and parallel forking
    • NAT traversal support for SIP and RTP traffic
    • load balancing with many distribution algorithms and failover support
    • flexible least cost routing
    • routing failover
    • replication for High Availability (HA)
  • Transport Layers
    • support for communication via UDP, TCP, TLS and SCTP
    • IPv4 and IPv6
    • transport layer gatewaying (IPv4 to IPv6, UDP to TLS, a.s.o.)
    • SCTP multi-homing and multi-streaming
    • WebSocket for WebRTC
  • Asynchronous Processing
    • asynchronous TCP handling
    • asynchronous SIP message processing
    • asynchronous inter-process message queues communication system
  • Secure Communication
    • Digest SIP User authentication
    • Authorization via ACL or group membership
    • IP and Network authentication
    • TLS support for SIP signaling
    • transparent handling of SRTP for secure audio
    • TLS domain name extension support
    • authentication and authorization against database (MySQL, PostgreSQL, UnixODBC, BerkeleyDB, Oracle, text files), RADIUS and DIAMETER
  • IP and DNS

    • support for SRV and NAPTR DNS lookups
    • SRV DNS failover
    • DNSsec support
    • ENUM support
    • internal DNS caching system ““ avoid DNS blocking
    • IP level Blacklists
    • multi-homed and multi-domain support
    • topology hiding ““ hide IP addresses in SIP headers to protect your network architecture
  • Accounting
    • event based accounting
    • configurable accounting data details
    • multi-leg call accounting
    • storage to database, Radius or Diameter
    • prepaid engine
  • Configuration File
    • scripting language for configurations file. With a syntax similar to scripting languages, the configuration offers a powerful and flexible way to deploy custom SIP services.
    • pseudo-variables to access and manage parts of the SIP messages and attributes specific to users and server
    • transformations to modify existing pseudo-variables, accessing only the wanted parts of the information
    • over 1000 parameters, variables and functions exported to config file
    • runtime update framework ““ to avoid restarting the SIP server when needing to change the config parameters
  • External Interaction via
    • text-based management interface via FIFO file, udp, xmlrpc and unix sockets
    • RPC control interface ““ via XMLRPC, UDP or TCP
  • Rich Communication Services

    • SIP SIMPLE Presence Server (rich presence)
    • Presence User Agent
    • XCAP client capabilities
    • Embedded XCAP Server
    • Presence DialogInfo support ““ SLA/BLA
    • Instant Messaging
    • Embedded MSRP relay
  • Monitoring and Troubleshooting
    • SNMP ““ interface to Simple Network Management Protocol
    • config file step-by-step debugger
    • remote control via XMLRPC
    • internal statistics exported via RPC and SNMP
    • flexible debug and error message logging system ““ log custom messages including any header or pseudo-variable and parts of SIP message structure.
  • Extensibility APIs
    • Perl Programming Interface ““ embed your extensions written in Perl
    • Java SIP Servlet Application Interface ““ write Java SIP Servlets to extent your VoIP services and integrate with web services
    • Lua Programming Interface
    • Managed Code (C#) Programming Interface
    • Python Programming Interface
    • Java Programming Interface
  • Multiple Database Backends
    • (MySQL, PostgreSQL, SQLite, UnixODBC, BerkeleyDB, Oracle, text files) and other database types which have unixodbc drivers
    • connections pool
    • different backends can be used at same time (e.g., accounting to Oracle and authorization against MySQL)
    • connectors for Memcached, Redis and Cassandra no-SQL backends
  • Interconnectivity
    • straightforward interconnection with PSTN gateways
    • gateway to sms or xmpp and other IM services
    • interoperability with SIP enabled devices and applications such as SIP phones (Snom, Cisco, etc.), Media Servers (Asterisk, FreeSwitch, etc.)
  • IMS
    • diameter support and authentication
    • I-CSCF, P-CSCF, S-CSCF
    • charging, QOS, ISC
  • Miscellaneous
    • CPL ““ Call Processing Language (RFC3880)
    • Internal generic caching system
    • Memcached connector
    • Redis NoSQL database connector
    • CLI ““ kamctl and sercmd
    • Web Management Interface: Siremis
    • SIP-T and SIP-I
    • music on hold queue
    • message body compression/decompression (gzip-deflate)
  • Extensive  documentation  for both administrators and developers

Scalability:

  • Kamailio can run on embedded systems, with limited resources ““ the performances can be up to hundreds of call setups per second
  • used as load balancer in stateless mode, Kamailio can handle over 5000 call setups per second
  • on systems with 4GB memory, Kamailio can serve a population over 300 000 online subscribers
  • system can easily scale by adding more Kamailio servers
  • Kamailio can be used in geographic distributed VoIP platforms
  • Kamailio least-cost-routing scales up to millions of routing rules
  • straightforward failover and redundancy

SIP Router Project

The SIP Router Project  is the common development framework for projects related to  SIP Express Router (aka SER), referred further as x-SER projects. The projects that joined the initiative so far are:  SIP Express Router (SER)  ““ the initial project started in 2001 (released under GPLv2 in 2002),  Kamailio (OpenSER)  ““ the project started as fork of SER in 2005 and  OpenIMSCore  ““ the IMS prototyping project branched from SER.

The latest stable branch of the project is 4.1 ““ created in December 2013. This code base is used to release  Kamailio 4.1.x  versions.

SER LogoOpenSER Logo

Since January 2010, by release of v3.0.0, SIP Express Router (SER) and Kamailio (OpenSER) are the same application, built from same source code. The differences are in database structure used to store subscriber profiles and routing information, which is a matter of what modules are used (e.g., for authentication, user location, a.s.o.). SER refers now to this application used with modules_s/auth_db module while Kamailio is same application but with modules_k/auth_db module.

The main goals for the project are:

  • bring together the developers and user communities of these projects
  • reduce maintenance overhead
  • avoid duplicated efforts in development
  • develop a core framework that is flexible, extensible and scalable
  • promote and build a solid open source SIP server project
  • ensure business credibility
  • make future forking undesirable, this harms everybody, affects credibility and business

On  October 10, 2009, source code of SER and Kamailio was completely integrated in SIP Router GIT repository and branches were created to prepare 3.0.0 releases. On  January 11, 2010, Kamailio 3.0.0 was released.

SIP Router Project Facts:

  • integration has finished ““ one source code tree for Kamailio and SER
  • single development environment for Kamailio and SER SIP servers ““ new features are available in both at once
  • releases to easy migration and maintenance depending on which project you are more familiar ““ see  releases page for more details
  • you can run mixed Kamailio and SER modules in the same SIP server instance
  • provides all features of Kamailio and SER in one SIP server
  • over 50 developers, more than 20 very active
  • over 160 extensions (modules) all together
  • command line tools (sercmd, kamctl, “¦) and web management interfaces (siremis, serweb)
  • dozens of  new features in 3.0.0 releases.
  • more feature to come in  future releases.
Back To Top