Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
OCF_HEARTBEAT_KAMAIL(7)        OCF resource agents	 OCF_HEARTBEAT_KAMAIL(7)

NAME
     ocf_heartbeat_kamailio - Resource agent for Kamailio

SYNOPSIS
     kamailio [start | stop | status | monitor | meta-data | validate-all]

DESCRIPTION
     Resource agent for the Kamailio SIP proxy/registrar. Multiple instances are
     possible when using following parameter combinations:

     Parameters for Kamailio instance 1: listen_address=192.168.159.128 monitor-
     ing_ip=192.168.159.128 proto=udptcp port=5060

     Parameters for Kamailio instance 2: listen_address=192.168.159.128 monitor-
     ing_ip=192.168.159.128   proto=udp   port=5070   conffile=/etc/kamailio/ka-
     mailio2.cfg kamctlrc=""

     Only one instance can be monitored via the command "kamctl monitor" because
     the kamctl tool of kamailio 4.x is not  designed  for  multiple  instances.
     Therefore,  the provided kamctrlrc file path needs to be empty for instance
     2, 3 ...

     Parameters for a third  Kamailio  instance:  listen_address=192.168.159.128
     monitoring_ip=192.168.159.128    proto=tcp    port=5080   conffile=/etc/ka-
     mailio/kamailio3.cfg kamctlrc=""

SUPPORTED PARAMETERS
     binary
	 The kamailio binary

	 (optional, string, default "/usr/sbin/kamailio")

     conffile
	 The kamailio configuration file  name	with  full  path.  For	example,
	 "/etc/kamailio/kamailio.cfg" , which is the default value. Make sure to
	 use unique names in case of having multiple instances.

	 (optional, string, default "/etc/kamailio/kamailio.cfg")

     pidfile
	 The  kamailio PID file. The directory used must be writable by kamailio
	 process user. Be sure to use unique name for running more than one  in-
	 stance. Try to use absolute path names. If empty, resource agent create
	 a unique directory from the resource instance name for the PID file and
	 assign it to the process user.

	 (optional,	string,    default    "/var/run/kamailio_RESOURCE_ID/ka-
	 mailio.pid")

     monitoring_ip
	 SIP IP Address of the kamailio instance used for  SIP	OPTIONS  polling
	 monitoring.  Usually  the  same  IP address value as for parameter lis-
	 ten_address should be provided.

	 In order to respond with a 200 OK response to the SIP OOPTION requests,
	 the kamailio.cfg file needs to contain  following  section:  Note:  The
	 following "kamailio.cfg" code snippet is part of an XML section. There-
	 fore  it  contains two & characters, which need to be replaced with two
	 ampersand characters within "kamailio.cfg":

	 if (is_method("OPTIONS") && (=~"sip:monitor@.*")) { ## ## If the method
	 is an OPTIONS we are simply going to  respond	##  with  a  200  OK.  #
	 xlog("L_INFO",  "Method  is  an  OPTIONS, probably just monitoring\n");
	 sl_send_reply("200", "Kamailio is alive"); exit; }

	 (optional, string, default "127.0.0.1")

     listen_address
	 SIP IP address the kamailio will listen on.

	 (required, string, no default)

     port
	 SIP port for the kamailio instance.

	 (optional, string, default "5060")

     extra_options
	 Extra options to add to kamailio start.

	 (optional, string, no default)

     proto
	 The	   protocol	  used	     for       SIP	  proto        =
	 udp|tcp|udptcp|conf_udp|conf_tcp|conf_udptcp.	  Using    the	 options
	 "conf_*" does not add any "-l" parameters to the kamailio command,  the
	 "listen"  parameters  from  kamailio.conf  are used instead. The sipsak
	 checks are performed depending what protocol is defined after	the  un-
	 derscore.

	 (optional, string, default "udptcp")

     sipsak
	 The  installation path of the sipsak tool, which is used for monitoring
	 Kamailio via SIP OPTIONS polling.

	 (optional, string, default "/usr/bin/sipsak")

     kamctl
	 The installation path of the "kamctl" control tool.

	 (optional, string, default "/usr/bin/kamctl")

     kamctlrc
	 The location of the "kamctlrc" file for the Kamailio instance. The file
	 "kamctlrc" is the Kamailio configuration file for its "kamctl"  control
	 tool.

	 This  parameter only needs to be provided in case of using multiple Ka-
	 mailio server instances on a single cluster node:

	 In case that the parameter "kamctlrc" is not empty, this resource agent
	 monitors the health state of the Kamailio server via the command  "kam-
	 ctl  monitor  1". This setting is recommended in case of using a single
	 Kamailio server instance.

	 In case that the parameter "kamctlrc" is empty, the resource agent does
	 not monitor the health state of the Kamailio server  instance	via  the
	 "kamctl" command.

	 Please  note that the "kamctl" control command of Kamailio 4.x does not
	 support running multiple Kamailio instances on one  host.  Nevertheless
	 this  resource  agent	does allow multiple Kamailio instances per host.
	 The result of the "kamctl" limitation in terms of  number  of	Kamailio
	 server instances is that the health check via "kamctl monitor 1" can be
	 configured for a single Kamailio instance only.

	 Please  refer to the long description of this resource agent for an ex-
	 ample of parameter combinations in case that multiple instances are  to
	 be configured per cluster node.

	 (optional, string, default "/etc/kamailio/kamctlrc")

     kamuser
	 The  user  account  for  kamailio process to run with. Uses the current
	 user, if not specified or empty. There is no check, if running kamailio
	 with the specified user account is possible.

	 (optional, string, no default)

     kamgroup
	 The group for kamailio process to run with. Uses the current group,  if
	 not specified or empty.

	 (optional, string, no default)

SUPPORTED ACTIONS
     This resource agent supports the following actions (operations):

     start
	 Starts the resource. Suggested minimum timeout: 60s.

     stop
	 Stops the resource. Suggested minimum timeout: 30s.

     status
	 Performs  a status check. Suggested minimum timeout: 30s. Suggested in-
	 terval: 10s.

     monitor
	 Performs a detailed status check. Suggested minimum timeout: 30s.  Sug-
	 gested interval: 10s.

     meta-data
	 Retrieves  resource agent metadata (internal use only). Suggested mini-
	 mum timeout: 5s.

     validate-all
	 Performs a validation of the resource configuration. Suggested  minimum
	 timeout: 5s.

     notify
	 Suggested minimum timeout: 5s.

EXAMPLE CRM SHELL
     The following is an example configuration for a kamailio resource using the
     crm(8) shell:

	 primitive p_kamailio ocf:heartbeat:kamailio \
	   params \
	     listen_address=string \
	   op monitor timeout="30s" interval="10s"

EXAMPLE PCS
     The  following  is  an  example configuration for a kamailio resource using
     pcs(8)

	 pcs resource create p_kamailio ocf:heartbeat:kamailio \
	   listen_address=string \
	   op monitor timeout="30s" interval="10s"

SEE ALSO
     http://clusterlabs.org/

AUTHOR
     ClusterLabs contributors (see the resource  agent	source	for  information
     about individual authors)

resource-agents 4.13.0		   08/27/2026		 OCF_HEARTBEAT_KAMAIL(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ocf_heartbeat_kamailio&sektion=7&manpath=FreeBSD+Ports+15.1.quarterly>

home | help