Specifying a `server_type` of `freeswitch` or `ephemeral` will use firewall rules that are temporary and are deleted when their cache timeout expires. Any other server type, such as `kamailio` or anything else, will NOT auto-delete records when the cache expires, and will use permanent firewall rules.
The `amqp_uri` config parameter can either be a single AMQP URI, or a comma separated list of multiple AMQP URIs (needed for `kamailio` server type with multiple Kazoo zones). Firewall agents running on Freeswitch do not need to connect to multiple Kazoo zones, only the local zone.
See the sample config file for other potentially useful configuration parameters.
logit(6,"Consuming on '"+appconf.AmqpExchType+"' exchange: '"+appconf.AmqpSubExch+"' with routing key: '"+appconf.AmqpSubRoutingKey+"' using queue: 'q_"+appname+"_"+myHostname+"'.")
logit(6,"Consuming on '"+appconf.AmqpExchType+"' exchange: '"+appconf.AmqpSubExch+"' with routing key: '"+appconf.AmqpSubRoutingKey+"' using queue: "+queue+"'.")
//logit(6, "Using "+fmt.Sprintf("%d", appconf.AmqpWorkers)+" concurrent workers to process inbound AMQP messages.")
log.Println(appnameFull+" system started.\n-----> [READY]")
fmt.Println(appnameFull+" system started.\n-----> [READY]")
// block main thread
// block here
err=consumer.Run(handleAmqpMsg)//this is the function that we want to call to consume presence messages
iferr!=nil{
fmt.Println("Unable to start/run RabbitMQ consumer: "+err.Error())