Navigation


Changeset 420:c8a61dabea55 in freeDiameter for extensions/app_sip/diamsip.h


Ignore:
Timestamp:
Jul 19, 2010, 4:46:33 PM (14 years ago)
Author:
Alexandre Westfahl <awestfahl@freediameter.net>
Branch:
default
Phase:
public
Message:

app_sip:Added LIR/LIA for SL

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/app_sip/diamsip.h

    r419 r420  
    5353#define MODE_SL 0x2
    5454
     55//Redirect_Host_Usage
     56#define ALL_USER        6
    5557
    5658/* The module configuration */
     
    6264        char * mysql_database;
    6365        char * mysql_server;
    64         uint16_t  mysql_port;
     66        char mysql_prefix[10]; //default: as_
     67        uint16_t  mysql_port; //if 0, default port will be used
    6568       
    6669};
     
    7881void clear_digest(uint8_t * digest, char * readable_digest, int digestlength);
    7982struct avp_hdr * walk_digest(struct avp *avp, int avp_code);
     83
     84
     85//MySQL part
    8086int start_mysql_connection();
    8187void request_mysql(char *query);
    8288void close_mysql_connection();
     89int get_diameter_uri(const unsigned char *sip_aor, const size_t sipaorlen, char ** diameter_uri, size_t *diameterurilen);
     90
    8391
    8492void DigestCalcHA1(char * pszAlg,char * pszUserName,char * pszRealm,char * pszPassword,char * pszNonce,char * pszCNonce,HASHHEX SessionKey);
     
    9098//thread procedure
    9199void *rtr_socket(void *);
     100void *ppr_socket(void *);
    92101
    93102struct rtrsipaor
     
    101110        int reason;
    102111};
     112struct pprsipaor
     113{
     114        char username[200];
     115        char label1[200];
     116        char value1[200];
     117        char label2[200];
     118        char value2[200];
     119        char desthost[200]; 
     120};
    103121int diamsip_RTR_cb(struct rtrsipaor structure);
     122int diamsip_PPR_cb(struct pprsipaor structure);
    104123#define PORT 666 //TODO:put in conf file
    105124
     
    109128int diamsip_MAR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
    110129int diamsip_RTA_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
     130int diamsip_PPA_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
     131int diamsip_LIR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
     132
     133//Suscriber Locator
     134int diamsipSL_LIR_cb( struct msg ** msg, struct avp * paramavp, struct session * sess, enum disp_action * act);
     135//int diamsipSL_SAR_cb( struct msg ** msg, struct avp * paramavp, struct session * sess, enum disp_action * act);
     136
    111137#define SQL_GETPASSWORD "SELECT `password` FROM ds_users WHERE `username` ='%s'"
    112138#define SQL_GETPASSWORD_LEN 52
    113139
    114 #define SQL_GETSIPURI "SELECT `sip_server_uri` FROM ds_users WHERE `username` ='%s'"
     140#define SQL_GETSIPURI  "SELECT `sip_server_uri` FROM ds_users WHERE `username` ='%s'"
    115141#define SQL_GETSIPURI_LEN 60
     142
     143#define SQL_GETDIAMURI "SELECT `diameter_uri` FROM sl_sip_aor_map WHERE `sip_aor` ='%s'"
     144#define SQL_GETDIAMURI_LEN 61
    116145
    117146#define SQL_SETSIPURI "UPDATE ds_users SET `sip_server_uri`='%s', `flag`=1 WHERE `username` ='%s'"
     
    140169        struct dict_object * User_Name;
    141170        struct dict_object * Session_Id;
     171        struct dict_object * Redirect_Host;
     172        struct dict_object * Redirect_Host_Usage;
    142173        struct dict_object * SIP_Auth_Data_Item;
    143174        struct dict_object * SIP_Authorization;
Note: See TracChangeset for help on using the changeset viewer.