Here are some proposed modifications to handle the P-Charging-Vector header as defined in rfc3455 section 4.6 to
- parse charging vector from SIP message
- generate new unique charging vector
- remove a charging vector header
a new pseudo variable
pseudo variables are exported and enable Read onlly access to charging vector fields
$pcv = whole field
$pcv.value = icid-value field (see RFC3455 section 5.6)
$pcv.genaddr = icid-generated-at field (see RFC3455 section 5.6)
a new function acc_charging_vector()
- g = generate a new charging vector or forward the orginal one
- f = generate a new charging vector regardless of the orginal charging vector
- r = remote the P-Charging vector header from the packet
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/215
-- Commit Summary --
* P-Charging-Vector implementation
* Merge remote branch 'upstream/master'
* P-Charging-Vector
-- File Changes --
M modules/acc/acc_mod.c (18)
A modules/acc/chargingvector.c (435)
A modules/acc/chargingvector.h (18)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/215.patchhttps://github.com/kamailio/kamailio/pull/215.diff
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/215
adds presence:notify-reply event
implements $notify_reply for handling in presence:notify-reply event
adds flags, user_agent columns to active_watchers
extends $subs to other subscription properties
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/486
-- Commit Summary --
* presence: add flags and user_agent to schema
* presence: 4.4 improvements
* presence: update documentation
-- File Changes --
M lib/srdb1/schema/pr_active_watchers.xml (18)
M modules/presence/README (259)
M modules/presence/doc/presence_admin.xml (157)
M modules/presence/hash.c (6)
M modules/presence/notify.c (153)
M modules/presence/notify.h (6)
M modules/presence/presence.c (7)
M modules/presence/subscribe.c (241)
M modules/presence/subscribe.h (2)
M utils/kamctl/db_berkeley/kamailio/active_watchers (4)
M utils/kamctl/db_berkeley/kamailio/version (2)
M utils/kamctl/db_sqlite/presence-create.sql (4)
M utils/kamctl/dbtext/kamailio/active_watchers (2)
M utils/kamctl/dbtext/kamailio/version (2)
M utils/kamctl/mysql/presence-create.sql (4)
M utils/kamctl/oracle/presence-create.sql (4)
M utils/kamctl/postgres/presence-create.sql (4)
M utils/kamctl/xhttp_pi/pi_framework.xml (30)
M utils/kamctl/xhttp_pi/presence-mod (6)
M utils/kamctl/xhttp_pi/presence-table (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/486.patchhttps://github.com/kamailio/kamailio/pull/486.diff
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/486
Module: kamailio
Branch: master
Commit: 5ac088f705468edffcef5cb669bbe28e4f3a905b
URL: https://github.com/kamailio/kamailio/commit/5ac088f705468edffcef5cb669bbe28…
Author: Mikko Lehto <mslehto(a)iki.fi>
Committer: Mikko Lehto <mslehto(a)iki.fi>
Date: 2016-02-03T21:31:03+02:00
modules/ims_icscf: use INT_MAX instead of MAXINT
---
Modified: modules/ims_icscf/cxdx_lir.c
Modified: modules/ims_icscf/scscf_list.c
Modified: modules/ims_icscf/scscf_list.h
---
Diff: https://github.com/kamailio/kamailio/commit/5ac088f705468edffcef5cb669bbe28…
Patch: https://github.com/kamailio/kamailio/commit/5ac088f705468edffcef5cb669bbe28…
---
diff --git a/modules/ims_icscf/cxdx_lir.c b/modules/ims_icscf/cxdx_lir.c
index f1731bf..9e056f2 100644
--- a/modules/ims_icscf/cxdx_lir.c
+++ b/modules/ims_icscf/cxdx_lir.c
@@ -51,9 +51,6 @@
#include "mod.h"
#include "location.h"
-#include "limits.h"
-#define MAXINT INT_MAX
-
//we use pseudo variables to communicate back to config file this takes the result and converys to a return code, publishes it a pseudo variable
int create_lia_return_code(int result) {
int rc;
@@ -181,7 +178,7 @@ void async_cdp_lir_callback(int is_timeout, void *param, AAAMessage *lia, long e
success:
if (server_name.len) {
- list = new_scscf_entry(server_name, MAXINT, data->orig);
+ list = new_scscf_entry(server_name, INT_MAX, data->orig);
} else {
list = I_get_capab_ordered(server_name, m_capab, m_capab_cnt, o_capab, o_capab_cnt, p_server_names, p_server_names_cnt, data->orig);
}
diff --git a/modules/ims_icscf/scscf_list.c b/modules/ims_icscf/scscf_list.c
index ee8b743..3634285 100644
--- a/modules/ims_icscf/scscf_list.c
+++ b/modules/ims_icscf/scscf_list.c
@@ -183,10 +183,10 @@ scscf_entry* I_get_capab_ordered(str scscf_name, int *m, int mcnt, int *o, int o
scscf_entry *list = 0;
int i, r;
- if (scscf_name.len) list = I_add_to_scscf_list(list, scscf_name, MAXINT, orig);
+ if (scscf_name.len) list = I_add_to_scscf_list(list, scscf_name, INT_MAX, orig);
for (i = 0; i < pcnt; i++)
- list = I_add_to_scscf_list(list, p[i], MAXINT - i, orig);
+ list = I_add_to_scscf_list(list, p[i], INT_MAX - i, orig);
for (i = 0; i < SCSCF_Capabilities_cnt; i++) {
r = I_get_capab_match(SCSCF_Capabilities + i, m, mcnt, o, ocnt);
diff --git a/modules/ims_icscf/scscf_list.h b/modules/ims_icscf/scscf_list.h
index ba29e1c..3b72ba7 100644
--- a/modules/ims_icscf/scscf_list.h
+++ b/modules/ims_icscf/scscf_list.h
@@ -56,11 +56,6 @@
#include "../../timer.h"
-#ifndef MAXINT
-#define MAXINT INT_MAX
-#endif
-
-
/** S-CSCF list element */
typedef struct _scscf_entry {
str scscf_name; /**< SIP URI of the S-CSCF */