Currently you are not logged in.

 Login | Register 

Main

Resources

Training

Events

Development

<- Back

#
#
# OpenSIPS Presence Server without permission rules quick-start config script
#

# ----------- global configuration parameters ------------------------

/* Uncomment these lines to enter debugging mode */ 
debug=7            # debug level (cmd line: -dddddddddd)
fork=no
log_stderror=yes

check_via=no	# (cmd. line: -v)
dns=no          # (cmd. line: -r)
rev_dns=no      # (cmd. line: -R)
listen=udp:10.10.10.10:5060
children=4


#
# uncomment the following lines for TLS support
#disable_tls = 0
#listen = tls:your_IP:5061
#tls_verify_server = 1
#tls_verify_client = 1
#tls_require_client_certificate = 0
#tls_method = TLSv1
#tls_certificate = "/usr/local/etc/opensips/tls/user/user-cert.pem"
#tls_private_key = "/usr/local/etc/opensips/tls/user/user-privkey.pem"
#tls_ca_list = "/usr/local/etc/opensips/tls/user/user-calist.pem"

# ------------------ module loading ----------------------------------
mpath="/usr/local/lib/opensips/modules/"


loadmodule "db_mysql.so"
loadmodule "sl.so"
loadmodule "maxfwd.so"
loadmodule "textops.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "presence.so"
loadmodule "presence_xml.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "mi_fifo.so"
# for 1.5 you must load also signaling module; uncomment the next line
#loadmodule "signaling.so" 

# Uncomment this if you want digest authentication
# db_mysql.so must be loaded !
#loadmodule "/usr/local/lib/opensips/modules/auth.so"
#loadmodule "/usr/local/lib/opensips/modules/auth_db.so"

# ----------------- setting module-specific parameters ---------------

# -- usrloc params --
# Uncomment this if you want to use SQL database 
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "db_url", "mysql://opensips:opensipsrw@127.0.0.1/opensips")

# -- auth params --
# Uncomment if you are using auth module
#
#modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config), 
# uncomment also the following parameter)
#
#modparam("auth_db", "password_column", "password")

# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)

# -- mi_fifo params --
modparam("mi_fifo","fifo_name", "/tmp/opensips_fifo")

# -- presence params --
modparam("presence|presence_xml", "db_url", "mysql://opensips:opensipsrw@127.0.0.1/opensips")
modparam("presence", "server_address", "sip:sa@10.10.10.10:5060" )
modparam("presence_xml", "force_active", 1)


# -------------------------  request routing logic -------------------

# main routing logic

route{
	# initial sanity checks -- messages with
	# max_forwards==0, or excessively long requests
	if (!mf_process_maxfwd_header("10")) {
		sl_send_reply("483","Too Many Hops");
		exit;
	};

	if (msg:len >=  2048 ) {
		sl_send_reply("513", "Message too big");
		exit;
	};

	# we record-route all messages -- to make sure that
	# subsequent messages will go through our proxy; that's
	# particularly good if upstream and downstream entities
	# use different transport protocol
	if (!method=="REGISTER")
		record_route();

	# subsequent messages withing a dialog should take the
	# path determined by record-routing
	if (loose_route()) {
		# mark routing logic in request
		append_hf("P-hint: rr-enforced\r\n"); 
		route(1);
	};

	if (!uri==myself) {
		# mark routing logic in request
		append_hf("P-hint: outbound\r\n"); 
		# if you have some interdomain connections via TLS
		#if(uri=~"@tls_domain1.net") {
		#	t_relay("tls:domain1.net");
		#	exit;
		#} else if(uri=~"@tls_domain2.net") {
		#	t_relay("tls:domain2.net");
		#	exit;
		#}
		route(1);
	};

	# if the request is for other domain use UsrLoc
	# (in case, it does not work, use the following command
	# with proper names and addresses in it)
	if (uri==myself) {

		# presence handling
		if( is_method("PUBLISH|SUBSCRIBE"))
			route(2);

		if (method=="REGISTER") {

			# Uncomment this if you want to use digest authentication
			#if (!www_authorize("opensips.org", "subscriber")) {
			#	www_challenge("opensips.org", "0");
			#	exit;
			#};

			save("location");
			exit;
		};

		# native SIP destinations are handled using our USRLOC DB
		if (!lookup("location")) {
			sl_send_reply("404", "Not Found");
			exit;
		};
		append_hf("P-hint: usrloc applied\r\n"); 
	};

	route(1);
}


route[1] {
	# send it out now; use stateful forwarding as it works reliably
	# even for UDP2TCP
	if (!t_relay()) {
		sl_reply_error();
	};
	exit;
}

# presence handling route
route[2]
{
	# absorb retransmissions
	if (! t_newtran())
	{
	        sl_reply_error();
	        exit;
	};

	#handle presence requests

	if(is_method("PUBLISH"))
	{
		handle_publish();
		t_release();
                /* the call to t_release is no longer needed in 1.5 */
	} 
	else if( is_method("SUBSCRIBE")) {
		handle_subscribe();
		t_release();
	        /* the call to t_release is no longer needed in 1.5 */
        };

	exit;
}

Your VoIP Account

News

OpenSIPS 1.6.2

11th of March 2010 OpenSIPS 1.6.2 is brings new features...
Read more...

OpenSIPS Control Panel 4.0

08th of March 2010 OpenSIPS CP 4.0 comes with user provisioning...
Read more...

Conference on "OpenSIPS 2.0"

5th of March 2010 VoIP Users Conference will host an audio conference
Read more...

OpenSIPS webinar

25th of February 2010 Next webinars is Explaining the default script
Read more...

OpenSIPS 2.0 Design

15th of February 2010 Design of OpenSIPS 2.0 is unveiled
Read more...

OpenSIPS webinar

28th of January 2010 Next OpenSIPS webinars is SIP Introduction
Read more...

Building Telephony Systems with OpenSIPS 1.6

21st of January 2010 New edition is available...
Read more...

OpenSIPS 1.6.1 is released

21st of December 2009 OpenSIPS 1.6.1 minor release is out...
Read more...

OpenSIPS Development Course

17th of December 2009 OpenSIPS Devel Course for 2010...
Read more...

OpenSIPS Bootcamps 2010

09th of December 2009 2010 Schedule for Bootcamp events...
Read more...

User Location is faster

13th of November 2009 USRLOC is 3 time faster than before...
Read more...

OpenSIPS Control Panel 3.0

30th of October 2009 OpenSIPS CP 3.0 major release is out...
Read more...

OpenSIPS 1.6.0 is released

16th of October 2009 OpenSIPS 1.6.0 major release is out...
Read more...

OpenSIPS VoIP Service

21th of September 2009 OpenSIPS project offers free VoIP services...
Read more...

OpenSIPS & Astricon

21th of September 2009 OpenSIPS talks and exhibits at Astricon 2009...
Read more...

SVN freeze

17th of September 2009 SVN trunk gets frozen to prepare 1.6 release...
Read more...

New types of script routes

10th of September 2009 New additions to configuration file routes...
Read more...

STUN server

7th of September 2009 OpenSIPS has now a built-in STUN server...
Read more...

Pseudovariable implementation extended

3rd of September 2009 Added new operations for pvars to give more power to the script writer...
Read more...

OpenSIPS Asterisk Integration

30th of August 2009 Tutorial for realtime integration...
Read more...

OpenSIPS 1.5.3 is released

27th of August 2009 OpenSIPS 1.5.3 minor release is out...
Read more...

AAA and RADIUS support

18th of April 2009 New AAA API and RADIUS enhancements in OpenSIPS
Read more...

OpenSIPS webinar

4th of April 2009 Next OpenSIPS webinars is Types of Routs in OpenSIPS
Read more...

B2BUA

3rd of August 2009 A B2BUA signaling implementation in OpenSIPS
Read more...

DB virtual

23th of July 2009 A DB conn mixer for failover, parallel and LB
Read more...

Codec manipulation

23th of July 2009 SDP codecs and priorities manipulation
Read more...

Memcached interfacing

16th of July 2009 memcached support for memory caching API
Read more...

OpenSIPS 1.5.2 is released

15th of July 2009 OpenSIPS 1.5.2 minor release is out...
Read more...

OpenSIPS@ClueCon

14th of July 2009 OpenSIPS talks at ClueCon
Read more...

OpenSIPS webinar

30th of June 2009 Next OpenSIPS webinars is Routing in SIP
Read more...

REGISTRAR enhancements

29th of June 2009 REGISTRAR module becomes more flexible
Read more...

OpenSIPS free webinars

01st of June 2009 OpenSIPS webinars program was launched
Read more...

OpenSIPS-CP 2.0 is released

13rd of April 2009 OpenSIPS Control Panel 2.0 major release is out...
Read more...

OpenSIPS 1.5.1 is released

13rd of April 2009 OpenSIPS 1.5.1 minor release is out...
Read more...

OpenSIPS 1.5.0 is released

23rd of March 2009 OpenSIPS 1.5.0 major release is out...
Read more...

OpenSIPS 1.4.5 is released

23rd of March 2009 OpenSIPS 1.4.5 minor release is out...
Read more...

OpenSIPS as Load Balancer

4th of March 2009
How to do real Load-Balancing for media servers ...
Read more...

OpenSIPS at Amoocon (AsteriskTAG)

24th of February 2009
3 hot topics presented at Amoocon ...
Read more...


Edit | History | Print | Recent Changes | Search
Page last modified on March 24, 2009, at 12:01 PM