#include <osp/osp.h>#include "../rr/api.h"#include "../../usr_avp.h"#include "usage.h"#include "destination.h"#include "osptoolkit.h"#include "sipheader.h"

Go to the source code of this file.
Defines | |
| #define | OSP_COOKIE_AUTHTIME 'a' |
| #define | OSP_COOKIE_AUTHTIMEUP 'A' |
| #define | OSP_COOKIE_DSTCOUNT 'c' |
| #define | OSP_COOKIE_DSTCOUNTUP 'C' |
| #define | OSP_COOKIE_SRCIP 's' |
| #define | OSP_COOKIE_SRCIPUP 'S' |
| #define | OSP_COOKIE_TRANSID 't' |
| #define | OSP_COOKIE_TRANSIDUP 'T' |
| #define | OSP_COOKIEHAS_AUTHTIME (1 << 2) |
| #define | OSP_COOKIEHAS_DSTCOUNT (1 << 3) |
| #define | OSP_COOKIEHAS_ORIGALL (OSP_COOKIEHAS_TRANSID | OSP_COOKIEHAS_SRCIP | OSP_COOKIEHAS_AUTHTIME | OSP_COOKIEHAS_DSTCOUNT) |
| #define | OSP_COOKIEHAS_SRCIP (1 << 1) |
| #define | OSP_COOKIEHAS_TERMALL (OSP_COOKIEHAS_TRANSID | OSP_COOKIEHAS_SRCIP | OSP_COOKIEHAS_AUTHTIME) |
| #define | OSP_COOKIEHAS_TRANSID (1 << 0) |
| #define | OSP_ORIG_COOKIE "osp-o" |
| #define | OSP_RELEASE_ORIG 0 |
| #define | OSP_RELEASE_TERM 1 |
| #define | OSP_TERM_COOKIE "osp-t" |
Functions | |
| static int | ospBuildUsageFromDestination (OSPTTRANHANDLE transaction, osp_dest *dest, int lastcode) |
| void | ospRecordOrigTransaction (struct sip_msg *msg, unsigned long long transid, char *uac, char *from, char *to, time_t authtime, unsigned destinationCount) |
| void | ospRecordTermTransaction (struct sip_msg *msg, unsigned long long transid, char *uac, char *from, char *to, time_t authtime) |
| static void | ospRecordTransaction (struct sip_msg *msg, unsigned long long transid, char *uac, char *from, char *to, time_t authtime, int isorig, unsigned destinationCount) |
| void | ospReportOrigSetupUsage (void) |
| void | ospReportTermSetupUsage (void) |
| int | ospReportUsage (struct sip_msg *msg, char *whorelease, char *ignore2) |
| static int | ospReportUsageFromCookie (struct sip_msg *msg, char *cooky, OSPTCALLID *callid, int release, OSPE_MSG_ROLETYPES type) |
| static int | ospReportUsageFromDestination (OSPTTRANHANDLE transaction, osp_dest *dest) |
Variables | |
| char * | _osp_device_ip |
| OSPTPROVHANDLE | _osp_provider |
| str | OSP_ORIGDEST_NAME |
| struct rr_binds | osp_rr |
| #define OSP_COOKIE_AUTHTIME 'a' |
Definition at line 54 of file usage.c.
Referenced by ospRecordTransaction(), and ospReportUsageFromCookie().
| #define OSP_COOKIE_AUTHTIMEUP 'A' |
| #define OSP_COOKIE_DSTCOUNT 'c' |
Definition at line 56 of file usage.c.
Referenced by ospRecordTransaction(), and ospReportUsageFromCookie().
| #define OSP_COOKIE_DSTCOUNTUP 'C' |
| #define OSP_COOKIE_SRCIP 's' |
Definition at line 52 of file usage.c.
Referenced by ospRecordTransaction(), and ospReportUsageFromCookie().
| #define OSP_COOKIE_SRCIPUP 'S' |
| #define OSP_COOKIE_TRANSID 't' |
Definition at line 50 of file usage.c.
Referenced by ospRecordTransaction(), and ospReportUsageFromCookie().
| #define OSP_COOKIE_TRANSIDUP 'T' |
| #define OSP_COOKIEHAS_AUTHTIME (1 << 2) |
| #define OSP_COOKIEHAS_DSTCOUNT (1 << 3) |
| #define OSP_COOKIEHAS_ORIGALL (OSP_COOKIEHAS_TRANSID | OSP_COOKIEHAS_SRCIP | OSP_COOKIEHAS_AUTHTIME | OSP_COOKIEHAS_DSTCOUNT) |
| #define OSP_COOKIEHAS_SRCIP (1 << 1) |
| #define OSP_COOKIEHAS_TERMALL (OSP_COOKIEHAS_TRANSID | OSP_COOKIEHAS_SRCIP | OSP_COOKIEHAS_AUTHTIME) |
| #define OSP_COOKIEHAS_TRANSID (1 << 0) |
| #define OSP_ORIG_COOKIE "osp-o" |
| #define OSP_RELEASE_ORIG 0 |
Definition at line 46 of file usage.c.
Referenced by ospReportUsage(), and ospReportUsageFromCookie().
| #define OSP_RELEASE_TERM 1 |
Definition at line 47 of file usage.c.
Referenced by ospReportUsage(), and ospReportUsageFromCookie().
| #define OSP_TERM_COOKIE "osp-t" |
| static int ospBuildUsageFromDestination | ( | OSPTTRANHANDLE | transaction, | |
| osp_dest * | dest, | |||
| int | lastcode | |||
| ) | [static] |
Definition at line 481 of file usage.c.
References _osp_dest::callid, _osp_dest::callidsize, _osp_dest::calling, _osp_dest::destdev, _osp_dest::host, NULL, _osp_dest::origcalled, OSP_STRBUF_SIZE, ospConvertAddress(), _osp_dest::source, _osp_dest::srcdev, _osp_dest::transid, and _osp_dest::type.
Referenced by ospReportOrigSetupUsage(), and ospReportTermSetupUsage().
| void ospRecordOrigTransaction | ( | struct sip_msg * | msg, | |
| unsigned long long | transid, | |||
| char * | uac, | |||
| char * | from, | |||
| char * | to, | |||
| time_t | authtime, | |||
| unsigned | destinationCount | |||
| ) |
Definition at line 155 of file usage.c.
References ospRecordTransaction().
Referenced by ospPrepareDestination().
| void ospRecordTermTransaction | ( | struct sip_msg * | msg, | |
| unsigned long long | transid, | |||
| char * | uac, | |||
| char * | from, | |||
| char * | to, | |||
| time_t | authtime | |||
| ) |
Definition at line 178 of file usage.c.
References ospRecordTransaction().
Referenced by ospValidateHeader().
| static void ospRecordTransaction | ( | struct sip_msg * | msg, | |
| unsigned long long | transid, | |||
| char * | uac, | |||
| char * | from, | |||
| char * | to, | |||
| time_t | authtime, | |||
| int | isorig, | |||
| unsigned | destinationCount | |||
| ) | [static] |
Definition at line 88 of file usage.c.
References rr_binds::add_rr_param, _str::len, LM_DBG, LM_ERR, LM_WARN, OSP_COOKIE_AUTHTIME, OSP_COOKIE_DSTCOUNT, OSP_COOKIE_SRCIP, OSP_COOKIE_TRANSID, OSP_ORIG_COOKIE, osp_rr, OSP_STRBUF_SIZE, OSP_TERM_COOKIE, _str::s, and snprintf.
Referenced by ospRecordOrigTransaction(), and ospRecordTermTransaction().
| void ospReportOrigSetupUsage | ( | void | ) |
Definition at line 550 of file usage.c.
References _osp_provider, AVP_NAME_STR, AVP_VAL_STR, _osp_dest::callid, _osp_dest::callidsize, get_avp_val(), _osp_dest::lastcode, LM_DBG, LM_INFO, NULL, ospBuildUsageFromDestination(), ospDumpDestination(), ospReportUsageFromDestination(), _osp_dest::reported, _str::s, int_str::s, search_first_avp(), search_next_avp(), _osp_dest::transid, and _osp_dest::used.
Referenced by ospPrepareDestination(), and ospRecordEvent().
| void ospReportTermSetupUsage | ( | void | ) |
Definition at line 612 of file usage.c.
References _osp_provider, _osp_dest::callid, _osp_dest::callidsize, LM_DBG, LM_ERR, LM_INFO, NULL, ospBuildUsageFromDestination(), ospGetTermDestination(), ospReportUsageFromDestination(), _osp_dest::reported, and _osp_dest::transid.
Referenced by ospRecordEvent().
| int ospReportUsage | ( | struct sip_msg * | msg, | |
| char * | whorelease, | |||
| char * | ignore2 | |||
| ) |
Definition at line 411 of file usage.c.
References LM_DBG, LM_ERR, LM_INFO, MODULE_RETURNCODE_FALSE, MODULE_RETURNCODE_TRUE, NULL, OSP_HEADERBUF_SIZE, OSP_ORIG_COOKIE, OSP_RELEASE_ORIG, OSP_RELEASE_TERM, OSP_TERM_COOKIE, ospGetCallId(), ospGetRouteParameters(), ospReportUsageFromCookie(), and parameters.
| static int ospReportUsageFromCookie | ( | struct sip_msg * | msg, | |
| char * | cooky, | |||
| OSPTCALLID * | callid, | |||
| int | release, | |||
| OSPE_MSG_ROLETYPES | type | |||
| ) | [static] |
Definition at line 201 of file usage.c.
References _osp_device_ip, _osp_provider, LM_DBG, LM_ERR, NULL, OSP_COOKIE_AUTHTIME, OSP_COOKIE_AUTHTIMEUP, OSP_COOKIE_DSTCOUNT, OSP_COOKIE_DSTCOUNTUP, OSP_COOKIE_SRCIP, OSP_COOKIE_SRCIPUP, OSP_COOKIE_TRANSID, OSP_COOKIE_TRANSIDUP, OSP_COOKIEHAS_AUTHTIME, OSP_COOKIEHAS_DSTCOUNT, OSP_COOKIEHAS_ORIGALL, OSP_COOKIEHAS_SRCIP, OSP_COOKIEHAS_TERMALL, OSP_COOKIEHAS_TRANSID, OSP_RELEASE_ORIG, OSP_RELEASE_TERM, OSP_STRBUF_SIZE, ospConvertAddress(), ospGetFromUserpart(), ospGetNextHop(), ospGetSourceAddress(), ospGetToUserpart(), and ospReportUsageWrapper().
Referenced by ospReportUsage().
| static int ospReportUsageFromDestination | ( | OSPTTRANHANDLE | transaction, | |
| osp_dest * | dest | |||
| ) | [static] |
Definition at line 528 of file usage.c.
References _osp_dest::authtime, _osp_dest::lastcode, ospReportUsageWrapper(), _osp_dest::time180, and _osp_dest::time200.
Referenced by ospReportOrigSetupUsage(), and ospReportTermSetupUsage().
| char* _osp_device_ip |
Definition at line 44 of file globals.c.
Referenced by ospDumpParameters(), ospReportUsageFromCookie(), ospRequestRouting(), ospValidateHeader(), and ospVerifyParameters().
| OSPTPROVHANDLE _osp_provider |
Definition at line 67 of file globals.c.
Referenced by ospDeleteProvider(), ospInitChild(), ospReportOrigSetupUsage(), ospReportTermSetupUsage(), ospReportUsageFromCookie(), ospRequestRouting(), ospSetupProvider(), and ospValidateHeader().
Definition at line 43 of file destination.c.
1.5.6