Navigation


Changeset 427:3d9f300f3b49 in freeDiameter for extensions/app_sip/diamsip.h


Ignore:
Timestamp:
Jul 26, 2010, 9:39:27 PM (14 years ago)
Author:
Alexandre Westfahl <awestfahl@freediameter.net>
Branch:
default
Phase:
public
Message:

Added SAR/SAA and UAR/UAA

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/app_sip/diamsip.h

    r420 r427  
    8888void close_mysql_connection();
    8989int get_diameter_uri(const unsigned char *sip_aor, const size_t sipaorlen, char ** diameter_uri, size_t *diameterurilen);
     90int exist_username(const unsigned char *sip_aor, const size_t sipaorlen);
     91int get_sipserver_cap(const unsigned char *sip_aor, const size_t sipaorlen, struct avp **capabilities);
     92int get_password(const unsigned char *username, const size_t usernamelen, char *password);
     93int check_sipaor(const unsigned char  *username, const size_t usernamelen, const char * sip_aor,const size_t sipaorlen);
     94int get_user_datatype(const unsigned char  *username, const size_t usernamelen,char **table_supported, const int num_elements, struct avp **groupedavp);
     95int set_pending_flag(const unsigned char  *username, const size_t usernamelen);
     96int clear_pending_flag(const unsigned char  *username, const size_t usernamelen);
     97int set_real_sipserver_uri(const unsigned char  *username, const size_t usernamelen, const unsigned char *sipserver_uri,const size_t sipserverurilen);
     98int set_sipserver_uri(const unsigned char  *username, const size_t usernamelen, const unsigned char *sipserver_uri,const size_t sipserverurilen);
     99
     100//count functions
     101int count_supporteddatatype(const struct msg * message);
     102int count_sipaor(const struct msg * message);
    90103
    91104
     
    130143int diamsip_PPA_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
    131144int diamsip_LIR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
     145int diamsip_UAR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
     146int diamsip_SAR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
    132147
    133148//Suscriber Locator
     
    138153#define SQL_GETPASSWORD_LEN 52
    139154
     155//username by SIP-AOR
     156#define SQL_GETUSERNAME  "SELECT `username` FROM ds_users, ds_sip_aor WHERE `sip_aor` ='%s' AND `ds_sip_aor`.`id_user` = `ds_users`.`id_user`"
     157#define SQL_GETUSERNAME_LEN 113
     158
     159//sip server uri by username
    140160#define SQL_GETSIPURI  "SELECT `sip_server_uri` FROM ds_users WHERE `username` ='%s'"
    141161#define SQL_GETSIPURI_LEN 60
    142162
     163//sip server uri by SIP-AOR
     164#define SQL_GETSIPSERURI  "SELECT `sip_server_uri` FROM ds_users, ds_sip_aor WHERE `sip_aor` ='%s' AND `ds_sip_aor`.`id_user` = `ds_users`.`id_user`"
     165#define SQL_GETSIPSERURI_LEN 119
     166
     167//sip capabilities for a SIP-AOR
     168#define SQL_GETSIPSERCAP  "SELECT `compulsory`,`id_service` FROM ds_user_services, ds_sip_aor WHERE `sip_aor` ='%s' AND `ds_sip_aor`.`id_user` = `ds_user_services`.`id_user`"
     169#define SQL_GETSIPSERCAP_LEN 144
     170
     171//user data for a user data supported
     172#define SQL_GETUSEDATA  "SELECT `data_type`,`data` FROM ds_users, ds_user_data, ds_data_types WHERE `username` ='%s' AND `ds_users`.`id_user` = `ds_user_data`.`id_user` AND `ds_data_types`.`id_data_type`=`ds_user_data`.`id_data_type`"
     173#define SQL_GETUSEDATA_LEN 206
     174
    143175#define SQL_GETDIAMURI "SELECT `diameter_uri` FROM sl_sip_aor_map WHERE `sip_aor` ='%s'"
    144176#define SQL_GETDIAMURI_LEN 61
    145177
    146 #define SQL_SETSIPURI "UPDATE ds_users SET `sip_server_uri`='%s', `flag`=1 WHERE `username` ='%s'"
    147 #define SQL_SETSIPURI_LEN 74
     178//networks for this user
     179#define SQL_GETUSERNET "SELECT `label_network` FROM ds_users, ds_user_networks, ds_networks WHERE `ds_users`.`username` ='%s' AND `ds_user_networks`.`id_user` = `ds_users`.`id_user` AND `ds_user_networks`.`id_network` = `ds_networks`.`id_network`"
     180#define SQL_GETUSERNET_LEN 220
     181
     182#define SQL_SETSIPURI "UPDATE ds_users SET `temp_sip_server_uri`='%s' WHERE `username` ='%s'"
     183#define SQL_SETSIPURI_LEN 65
     184
     185//TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO
     186#define SQL_RMSIPURI "UPDATE ds_users SET `temp_sip_server_uri`='', `sip_server_uri`='' WHERE `id_user` ='%s'"
     187#define SQL_RMSIPURI_LEN 65
     188//TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO
     189
     190#define SQL_SETREALSIPURI "UPDATE ds_users SET `sip_server_uri`='%s' WHERE `username` ='%s'"
     191#define SQL_SETREALSIPURI_LEN 65
     192
     193#define SQL_SETFLAG "UPDATE ds_users SET `authentication_pending`=1 WHERE `username` ='%s'"
     194#define SQL_SETFLAG_LEN 67
     195
     196#define SQL_CLEARFLAG "UPDATE ds_users SET `authentication_pending`=0, `registrated`=1 WHERE `username` ='%s'"
     197#define SQL_CLEARFLAG_LEN 84
    148198
    149199#define SQL_GETSIPAOR "SELECT `sip_aor` FROM `ds_sip_aor`, `ds_users` WHERE `ds_sip_aor`.`id_user` = `ds_users`.`id_user` AND `ds_users`.`username` = '%s'"
    150200#define SQL_GETSIPAOR_LEN 131
    151201
    152 #define SQL_CLEARFLAG "UPDATE ds_users SET `flag`=0 WHERE `username` ='%s'"
    153 #define SQL_CLEARFLAG_LEN 74
     202//#define SQL_CLEARFLAG "UPDATE ds_users SET `authentication_pending`=0 WHERE `username` ='%s'"
     203//#define SQL_CLEARFLAG_LEN 67
    154204
    155205extern struct session_handler * ds_sess_hdl;
     
    167217        struct dict_object * Auth_Application_Id;
    168218        struct dict_object * Destination_Host;
     219        struct dict_object * Destination_Realm;
    169220        struct dict_object * User_Name;
    170221        struct dict_object * Session_Id;
     
    172223        struct dict_object * Redirect_Host_Usage;
    173224        struct dict_object * SIP_Auth_Data_Item;
     225        struct dict_object * SIP_Accounting_Information;
     226        struct dict_object * SIP_Accounting_Server_URI;
     227        struct dict_object * SIP_Credit_Control_Server_URI;
     228        struct dict_object * SIP_Server_Assignment_Type;
     229        struct dict_object * SIP_Item_Number;
     230        struct dict_object * SIP_User_Authorization_Type;
     231        struct dict_object * SIP_Supported_User_Data_Type;
     232        struct dict_object * SIP_User_Data;
     233        struct dict_object * SIP_User_Data_Type;
     234        struct dict_object * SIP_User_Data_Contents;
     235        struct dict_object * SIP_User_Data_Already_Available;
     236        struct dict_object * SIP_Visited_Network_Id;
    174237        struct dict_object * SIP_Authorization;
    175238        struct dict_object * SIP_Authenticate;
     
    178241        struct dict_object * SIP_Authentication_Info;   
    179242        struct dict_object * SIP_Server_URI;
     243        struct dict_object * SIP_Server_Capabilities;
     244        struct dict_object * SIP_Mandatory_Capability;
     245        struct dict_object * SIP_Optional_Capability;
    180246        struct dict_object * SIP_Method;
    181247        struct dict_object * SIP_AOR;
Note: See TracChangeset for help on using the changeset viewer.