remove outdated README.md 582/head
authorEmmanuel Schmidbauer <emmanuel@getweave.com>
Mon, 25 Apr 2016 16:33:50 +0000 (12:33 -0400)
committerEmmanuel Schmidbauer <emmanuel@getweave.com>
Mon, 25 Apr 2016 16:33:50 +0000 (12:33 -0400)
modules/nsq/README.md [deleted file]

diff --git a/modules/nsq/README.md b/modules/nsq/README.md
deleted file mode 100644 (file)
index faa6412..0000000
+++ /dev/null
@@ -1,312 +0,0 @@
-# NSQ Module for Kamailio
-
-## 1. Overview
-
-NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day.
-It promotes distributed and decentralized topologies without single points of failure, enabling fault tolerance and high availability coupled with a reliable message delivery guarantee.
-
-From a high-level, the purpose of the module might be for things like:
-
-* Integrate to an application to make real-time routing decisions (instead of using, say, a SQL database)
-* Provide a real-time integration into your program, instead of your database, so you can overlay additional logic in your preferred language while also utilizing a message bus
-* Utilize messaging to have a distributed messaging layer, such that machines processing requests/responses/events can go up/down or share the workload and your Kamailio node will still be happy
-
-Supported operations are:
-
-* publish json payloads to nsq topics
-* publish json payloads to nsq topics and wait for correlated response message
-* subscribe to an nsq topic and channel and handle events from that channel
-
-The NSQ module also has support to publish updates to presence module thru the nsq_pua_publish function.
-
-This module is heavily based on the Kazoo module from 2600hz.
-
-## 2. How it works
-
-The module works with a main forked process that does the communication with your nsq system for issuing publishes, waiting for replies, and consuming messages. When it consumes a message it defers the process to a worker thread so it doesn't block the main process (uses libev).
-
-### 2.1. Event Routes
-
-The worker process issues an event-route where we can act on the received payload. The name of the event-route is composed by values extracted from the payload.
-
-NSQ module will try to execute the event route from most significant to less significant. define the event route like event_route[nsq:consumer-event[-payload_key_value[-payload_subkey_value]]]
-
-#### Example
-```
-...
-modparam("nsq", "consumer_event_key", "Event-Type")
-modparam("nsq", "consumer_event_subkey", "Event-Name")
-...
-
-event_route[nsq:consumer-event-presence-update]
-{
-# presence is the value extracted from Event-Type field in json payload
-# update is the value extracted from Event-Name field in json payload
-xlog("L_INFO", "received $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From})");
-...
-}
-
-event_route[nsq:consumer-event-presence]
-{
-# presence is the value extracted from Event-Type field in json payload
-xlog("L_INFO", "received $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From})");
-...
-}
-
-event_route[nsq:consumer-event]
-{
-# this event route is executed if we can't find the previous
-}
-
-```
-
-### 2.2 Acknowledge Messages
-
-Consumed messages have the option of being acknowledged in two ways:
-
-* immediately when received
-* after processing by the worker
-
-
-## 3. Dependencies
-
-### 3.1. Kamailio Modules
-
-The following modules must be loaded before this module:
-
-* none
-
-### 3.2. External Libraries or Applications
-
-* libev
-* libjson
-* libuuid
-
-## 4. Parameters
-
-### 4.1. NSQ Client
-
-#### 4.1.1. nsqd_address(str)
-
-The http address of the nsqd to post messages to
-
-_Default value is Null. You must set this parameter value for the module to work_
-
-__Example__
-```
-...
-modparam("nsq", "nsqd_address", "127.0.0.1:4151")
-...
-```
-
-#### 4.1.2. lookupd_address(str)
-
-The http address of the nsq lookupd servers ( _comma seperated_ )
-
-_Default value is Null. You must set this parameter value for the module to work_
-
-__Example__
-```
-...
-modparam("nsq", "lookupd_address", "10.10.10.1:4161,10.10.10.2:4161")
-...
-```
-
-#### 4.1.3. consumer_topic(str)
-
-The topic to listen on for inbound events
-
-__Example__
-```
-...
-modparam("nsq", "consumer_topic", "kamailio")
-...
-```
-
-#### 4.1.4. consumer_channel(str)
-
-The channel to listen on for inbound events
-
-__Example__
-```
-...
-modparam("nsq", "consumer_channel", "sip-proxy-01")
-...
-```
-
-#### 4.1.5. consumer_event_key(str)
-
-The JSON property name to watch for for handling event_routes
-
-_Default value is "Event-Type"_
-
-__Example__
-```
-...
-modparam("nsq", "consumer_event_key", "Type")
-...
-```
-
-
-#### 4.1.6. consumer_event_subkey(str)
-
-The JSON property sub key name to watch for for handling event_routes
-
-_Default value is "Event-Name"_
-
-__Example__
-```
-...
-modparam("nsq", "consumer_event_subkey", "Name")
-...
-```
-
-
-#### 4.1.7. max_in_flight(int)
-
-Number of messages the nsq client will handle concurrently
-
-_Default value is 100_
-
-__Example__
-```
-...
-modparam("nsq", "max_in_flight", 5)
-...
-```
-
-#### 4.1.7. query_timeout(int)
-
-Number of seconds until timeout for query requests
-
-_Default value is 2_
-
-__Example__
-```
-...
-modparam("nsq", "query_timeout", 5)
-...
-```
-
-### 4.2. Presence Related
-
-#### 4.2.1. db_url(str)
-
-The database for the presentity table.
-
-If set, the nsq_ppua_publish function will update the presentity status in the database.
-
-_Default value is “NULL”._
-
-__Example__
-```
-...
-modparam("nsq", "db_url", "mysql://kamailio:kamailiorw@localhost/kamailio")
-...
-```
-
-#### 4.2.2. presentity_table(str)
-
-The name of the presentity table in the database.
-
-_Default value is “presentity”._
-
-__Example__
-```
-...
-modparam("nsq", "presentity_table", "my_presentity_table")
-...
-```
-
-
-## 5. Functions
-
-### 5.1. nsq related
-
-#### 5.1.1. nsq_publish(topic, json_payload)
-
-The function publishes a json payload to the nsq topic passed in.
-
-This function can be used from ANY ROUTE.
-
-__Example__
-```
-...
-$var(nsq_payload_request) = "{'Event-Type' : 'directory', 'Event-Name' : 'reg_success', 'Contact' : '" + $var(fs_contact) + "', 'Call-ID' : '" + $ci + "', 'Realm' : '" + $fd +"', 'Username' : '" + $fU + "', 'From-User' : '" + $fU + "', 'From-Host' : '" + $fd + "', 'To-User' : '" + $tU +"', 'To-Host' : '" + $td + "', 'User-Agent' : '" + $ua +"' ," + $var(register_contants)+ " }";
-nsq_publish("registrations", $var(nsq_payload_request));
-...
-```
-
-#### 5.1.2. nsq_query(topic, json_payload [, target_var])
-
-The function publishes a json payload to nsq, waits for a correlated message and puts the result in target_var. target_var is optional as the function also puts the result in pseudo-variable $nqR.
-
-This function can be used from ANY ROUTE.
-
-__Example__
-```
-...
-$var(nsq_payload_request) = "{'Event-Category' : 'call_event' , 'Event-Name' : 'query_user_channels_req', 'Realm' : '" + $fd + "', 'Username' : '" + $fU + "', 'Active-Only' : false }";
-nsq_encode("$ci", "$var(callid_encoded)");
-if(nsq_query("callevt", $var(nsq_payload_request), "$var(nsq_result)")) {
-   nsq_json("$var(nsq_result)", "Channels[0].switch_url", "$du");
-   if($du != $null) {
-       xlog("L_INFO", "$ci|log|user channels found redirecting call to $du");
-       return;
-   }
-}
-...
-```
-
-### 5.2. presence related
-
-#### 5.2.1. nsq_pua_publish(json_payload)
-
-The function build presentity state from json_payload and updates presentity table.
-
-This function can be used from ANY ROUTE.
-
-__Example__
-```
-...
-event_route[nsq:consumer-event-presence-update]
-{
-    xlog("L_INFO", "received $(nqE{nq.json,Event-Package}) update for $(nqE{nq.json,From})");
-    nsq_pua_publish($kzE);
-    pres_refresh_watchers("$(nqE{nq.json,From})", "$(nqE{nq.json,Event-Package})", 1);
-}
-...
-```
-
-### 5.3. other
-
-### 5.3. presence related
-
-#### 5.3.1. nsq_encode(to_encode, target_var)
-
-The function encodes the 1st parameter to JSON and puts the result in the 2nd parameter.
-
-This function can be used from ANY ROUTE.
-
-__Example__
-```
-...
-event_route[nsq:consumer-event-presence-update]
-{
-    xlog("L_INFO", "received $(nqE{nq.json,Event-Package}) update for $(nqE{nq.json,From})");
-    nsq_pua_publish($nqE);
-    pres_refresh_watchers("$(nqE{nq.json,From})", "$(nqE{nq.json,Event-Package})", 1);
-}
-...
-```
-
-
-
-## 6. Exported pseudo-variables
-
-## 7. Transformations
-
-
-
-
-