comparison extensions/app_sip/diamsip.h @ 419:9cc48cd22e67

Finished RTR on Diameter-SIP
author Alexandre Westfahl <awestfahl@freediameter.net>
date Mon, 12 Jul 2010 22:56:33 +0900
parents c2fb5b26bfcb
children c8a61dabea55
comparison
equal deleted inserted replaced
418:1097c885c065 419:9cc48cd22e67
85 void DigestCalcResponse(HASHHEX HA1,char * pszNonce,char * pszNonceCount,char * pszCNonce,char * pszQop,char * pszMethod,char * pszDigestUri,HASHHEX HEntity,HASHHEX Response); 85 void DigestCalcResponse(HASHHEX HA1,char * pszNonce,char * pszNonceCount,char * pszCNonce,char * pszQop,char * pszMethod,char * pszDigestUri,HASHHEX HEntity,HASHHEX Response);
86 void DigestCalcResponseAuth(HASHHEX HA1,char * pszNonce,char * pszNonceCount,char * pszCNonce,char * pszQop,char * pszMethod,char * pszDigestUri,HASHHEX HEntity,HASHHEX Response); 86 void DigestCalcResponseAuth(HASHHEX HA1,char * pszNonce,char * pszNonceCount,char * pszCNonce,char * pszQop,char * pszMethod,char * pszDigestUri,HASHHEX HEntity,HASHHEX Response);
87 87
88 int fd_avp_search_avp ( struct avp * groupedavp, struct dict_object * what, struct avp ** avp ); 88 int fd_avp_search_avp ( struct avp * groupedavp, struct dict_object * what, struct avp ** avp );
89 89
90 //thread procedure
91 void *rtr_socket(void *);
92
93 struct rtrsipaor
94 {
95 char username[200];
96 char sip_aor1[200];
97 char sip_aor2[200];
98 char sip_aor3[200];
99 char strreason[200];
100 char desthost[200];
101 int reason;
102 };
103 int diamsip_RTR_cb(struct rtrsipaor structure);
104 #define PORT 666 //TODO:put in conf file
105
90 int ds_entry(); 106 int ds_entry();
91 void fd_ext_fini(void); 107 void fd_ext_fini(void);
92 int diamsip_default_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act); 108 int diamsip_default_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
93 int diamsip_MAR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act); 109 int diamsip_MAR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
94 int diamsip_RTA_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act); 110 int diamsip_RTA_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
118 134
119 //Storage for some usefull AVPs 135 //Storage for some usefull AVPs
120 struct diamsip_dict{ 136 struct diamsip_dict{
121 struct dict_object * Auth_Session_State; 137 struct dict_object * Auth_Session_State;
122 struct dict_object * Auth_Application_Id; 138 struct dict_object * Auth_Application_Id;
139 struct dict_object * Destination_Host;
123 struct dict_object * User_Name; 140 struct dict_object * User_Name;
141 struct dict_object * Session_Id;
124 struct dict_object * SIP_Auth_Data_Item; 142 struct dict_object * SIP_Auth_Data_Item;
125 struct dict_object * SIP_Authorization; 143 struct dict_object * SIP_Authorization;
126 struct dict_object * SIP_Authenticate; 144 struct dict_object * SIP_Authenticate;
127 struct dict_object * SIP_Number_Auth_Items; 145 struct dict_object * SIP_Number_Auth_Items;
128 struct dict_object * SIP_Authentication_Scheme; 146 struct dict_object * SIP_Authentication_Scheme;
129 struct dict_object * SIP_Authentication_Info; 147 struct dict_object * SIP_Authentication_Info;
130 struct dict_object * SIP_Server_URI; 148 struct dict_object * SIP_Server_URI;
131 struct dict_object * SIP_Method; 149 struct dict_object * SIP_Method;
132 struct dict_object * SIP_AOR; 150 struct dict_object * SIP_AOR;
151 struct dict_object * SIP_Deregistration_Reason;
152 struct dict_object * SIP_Reason_Code;
153 struct dict_object * SIP_Reason_Info;
133 struct dict_object * Digest_URI; 154 struct dict_object * Digest_URI;
134 struct dict_object * Digest_Nonce; 155 struct dict_object * Digest_Nonce;
135 struct dict_object * Digest_Nonce_Count; 156 struct dict_object * Digest_Nonce_Count;
136 struct dict_object * Digest_CNonce; 157 struct dict_object * Digest_CNonce;
137 struct dict_object * Digest_Realm; 158 struct dict_object * Digest_Realm;
"Welcome to our mercurial repository"