Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1424 from kamailio/eschmidbauer/pua_json
pua_json: new module to update presence using JSON data objects
- Loading branch information
Showing
15 changed files
with
842 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# | ||
# PUA_JSON module | ||
# | ||
# | ||
# WARNING: do not run this directly, it should be run by the master Makefile | ||
|
||
include ../../Makefile.defs | ||
|
||
auto_gen= | ||
NAME=pua_json.so | ||
|
||
LIBS=-ljson-c | ||
DEFS+=-I$(LOCALBASE)/include -I/usr/local/include $(shell pkg-config --cflags json-c) | ||
|
||
DEFS+=-DKAMAILIO_MOD_INTERFACE | ||
|
||
include ../../Makefile.modules |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
/* | ||
* PUA_JSON module | ||
* | ||
* Copyright (C) 2010-2014 2600Hz | ||
* | ||
* This file is part of Kamailio, a free SIP server. | ||
* | ||
* Kamailio is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation; either version 2 of the License, or | ||
* (at your option) any later version | ||
* | ||
* Kamailio is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program; if not, write to the Free Software | ||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
* | ||
* Contributor(s): | ||
* 2600Hz Team | ||
* Emmanuel Schmidbauer <eschmidbauer@gmail.com> | ||
* | ||
*/ | ||
|
||
#ifndef _PUA_JSON_DEFS_H_ | ||
#define _PUA_JSON_DEFS_H_ | ||
|
||
#define BLF_MAX_DIALOGS 8 | ||
#define BLF_JSON_PRES "Presentity" | ||
#define BLF_JSON_PRES_USER "Presentity-User" | ||
#define BLF_JSON_PRES_REALM "Presentity-Realm" | ||
#define BLF_JSON_FROM "From" | ||
#define BLF_JSON_FROM_USER "From-User" | ||
#define BLF_JSON_FROM_REALM "From-Realm" | ||
#define BLF_JSON_FROM_URI "From-URI" | ||
#define BLF_JSON_TO "To" | ||
#define BLF_JSON_TO_USER "To-User" | ||
#define BLF_JSON_TO_REALM "To-Realm" | ||
#define BLF_JSON_TO_URI "To-URI" | ||
#define BLF_JSON_CALLID "Call-ID" | ||
#define BLF_JSON_TOTAG "To-Tag" | ||
#define BLF_JSON_FROMTAG "From-Tag" | ||
#define BLF_JSON_STATE "State" | ||
#define BLF_JSON_USER "User" | ||
#define BLF_JSON_QUEUE "Queue" | ||
#define BLF_JSON_EXPIRES "Expires" | ||
#define BLF_JSON_APP_NAME "App-Name" | ||
#define BLF_JSON_APP_VERSION "App-Version" | ||
#define BLF_JSON_NODE "Node" | ||
#define BLF_JSON_SERVERID "Server-ID" | ||
#define BLF_JSON_EVENT_CATEGORY "Event-Category" | ||
#define BLF_JSON_EVENT_NAME "Event-Name" | ||
#define BLF_JSON_TYPE "Type" | ||
#define BLF_JSON_MSG_ID "Msg-ID" | ||
#define BLF_JSON_DIRECTION "Direction" | ||
|
||
#define BLF_JSON_CONTACT "Contact" | ||
#define BLF_JSON_EVENT_PKG "Event-Package" | ||
#define MWI_JSON_WAITING "Messages-Waiting" | ||
#define MWI_JSON_VOICE_MESSAGE "MWI-Voice-Message" | ||
#define MWI_JSON_NEW "Messages-New" | ||
#define MWI_JSON_SAVED "Messages-Saved" | ||
#define MWI_JSON_URGENT "Messages-Urgent" | ||
#define MWI_JSON_URGENT_SAVED "Messages-Urgent-Saved" | ||
#define MWI_JSON_ACCOUNT "Message-Account" | ||
#define MWI_JSON_FROM "From" | ||
#define MWI_JSON_TO "To" | ||
|
||
#define TO_TAG_BUFFER_SIZE 128 | ||
#define FROM_TAG_BUFFER_SIZE 128 | ||
#define SENDER_BUFFER_SIZE 1024 | ||
#define DIALOGINFO_BODY_BUFFER_SIZE 8192 | ||
#define MWI_BODY_BUFFER_SIZE 2048 | ||
#define PRESENCE_BODY_BUFFER_SIZE 4096 | ||
|
||
#define MWI_BODY_VOICE_MESSAGE "Messages-Waiting: %.*s\r\nMessage-Account: %.*s\r\nVoice-Message: %.*s\r\n" | ||
#define MWI_BODY_NO_VOICE_MESSAGE "Messages-Waiting: %.*s\r\nMessage-Account: %.*s\r\n" | ||
#define MWI_BODY "Messages-Waiting: %.*s\r\nMessage-Account: %.*s\r\nVoice-Message: %.*s/%.*s (%.*s/%.*s)\r\n" | ||
#define PRESENCE_BODY "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\ | ||
<presence xmlns=\"urn:ietf:params:xml:ns:pidf\" xmlns:dm=\"urn:ietf:params:xml:ns:pidf:data-model\" xmlns:rpid=\"urn:ietf:params:xml:ns:pidf:rpid\" xmlns:c=\"urn:ietf:params:xml:ns:pidf:cipid\" entity=\"%s\"> \ | ||
<tuple xmlns=\"urn:ietf:params:xml:ns:pidf\" id=\"%s\">\ | ||
<status>\ | ||
<basic>%s</basic>\ | ||
</status>\ | ||
</tuple>\ | ||
<note xmlns=\"urn:ietf:params:xml:ns:pidf\">%s</note>\ | ||
<dm:person xmlns:dm=\"urn:ietf:params:xml:ns:pidf:data-model\" xmlns:rpid=\"urn:ietf:params:xml:ns:pidf:rpid\" id=\"1\">\ | ||
<rpid:activities>%s</rpid:activities>\ | ||
<dm:note>%s</dm:note>\ | ||
</dm:person>\ | ||
</presence>" | ||
|
||
#define DIALOGINFO_EMPTY_BODY "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\ | ||
<dialog-info xmlns=\"urn:ietf:params:xml:ns:dialog-info\" version=\"1\" state=\"full\" entity=\"%.*s\"> \ | ||
<dialog call-id=\"76001e23e09704ea9e1257ebea85e1f3\" direction=\"initiator\">\ | ||
<state>terminated</state>\ | ||
</dialog>\ | ||
</dialog-info>" | ||
|
||
#define LOCAL_TAG "local-tag=\"%.*s\"" | ||
#define REMOTE_TAG "remote-tag=\"%.*s\"" | ||
|
||
#define DIALOGINFO_BODY "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\ | ||
<dialog-info xmlns=\"urn:ietf:params:xml:ns:dialog-info\" version=\"1\" state=\"full\" entity=\"%.*s\">\ | ||
<dialog id=\"%.*s\" call-id=\"%.*s\" %.*s %.*s direction=\"%.*s\">\ | ||
<state>%.*s</state>\ | ||
<local>\ | ||
<identity display=\"%.*s\">%.*s</identity>\ | ||
<target uri=\"%.*s\"/>\ | ||
</local>\ | ||
<remote>\ | ||
<identity display=\"%.*s\">%.*s</identity>\ | ||
<target uri=\"%.*s\"/>\ | ||
</remote>\ | ||
</dialog>\ | ||
</dialog-info>" | ||
|
||
#define DIALOGINFO_BODY_2 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\ | ||
<dialog-info xmlns=\"urn:ietf:params:xml:ns:dialog-info\" version=\"1\" state=\"full\" entity=\"%.*s\">\ | ||
<dialog id=\"%.*s\" call-id=\"%.*s\" %.*s %.*s direction=\"%.*s\">\ | ||
<state>%.*s</state>\ | ||
<local>\ | ||
<identity display=\"%.*s\">%.*s</identity>\ | ||
</local>\ | ||
<remote>\ | ||
<identity display=\"%.*s\">%.*s</identity>\ | ||
</remote>\ | ||
</dialog>\ | ||
</dialog-info>" | ||
|
||
#endif /* _PUA_JSON_DEFS_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
docs = json_pua.xml | ||
|
||
docbook_dir = ../../../../doc/docbook | ||
include $(docbook_dir)/Makefile.module |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
<?xml version="1.0" encoding='ISO-8859-1'?> | ||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" | ||
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ | ||
|
||
<!-- Include general documentation entities --> | ||
<!ENTITY % docentities SYSTEM "../../../../doc/docbook/entities.xml"> | ||
%docentities; | ||
|
||
]> | ||
|
||
<book xmlns:xi="http://www.w3.org/2001/XInclude"> | ||
<bookinfo> | ||
<title>PUA_JSON Module</title> | ||
<productname class="trade">&kamailioname;</productname> | ||
<authorgroup> | ||
<author> | ||
<firstname>Emmanuel Schmidbauer</firstname> | ||
<email>eschmidbauer@gmail.com</email> | ||
</author> | ||
<editor> | ||
<firstname>Emmanuel</firstname> | ||
<surname>Schmidbauer</surname> | ||
<email>eschmidbauer@gmail.com</email> | ||
</editor> | ||
</authorgroup> | ||
<copyright> | ||
<year>2018</year> | ||
<holder>VoIPxSWITCH</holder> | ||
</copyright> | ||
</bookinfo> | ||
<toc></toc> | ||
|
||
<xi:include href="pua_json_admin.xml"/> | ||
<!-- <xi:include href="db_text_devel.xml"/> --> | ||
|
||
|
||
</book> |
Oops, something went wrong.