comparison extensions/test_sip/test_sip.h @ 420:c8a61dabea55

app_sip:Added LIR/LIA for SL
author Alexandre Westfahl <awestfahl@freediameter.net>
date Mon, 19 Jul 2010 16:46:33 +0900
parents c2fb5b26bfcb
children 3d9f300f3b49
comparison
equal deleted inserted replaced
419:9cc48cd22e67 420:c8a61dabea55
31 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * 31 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR * 32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
33 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * 33 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
34 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * 34 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
35 *********************************************************************************************************/ 35 *********************************************************************************************************/
36 36 #include <freeDiameter/extension.h>
37 #include <sys/time.h>
38 #include <stdint.h>
39 #include <stdlib.h>
40 #include <stdio.h>
41 #include <gcrypt.h>
42 #include <string.h>
43 #include <mysql.h>
37 44
38 /* The module configuration */ 45 /* The module configuration */
39 struct test_sip_conf { 46 struct ts_conf {
40 char * destination_sip; 47 char * destination_sip;
41 char * destination_realm; 48 char * destination_realm;
42 char * username; 49 char * username;
43 char * password; 50 char * password;
44 char * sip_aor; 51 char * sip_aor;
45 }; 52 };
46 extern struct test_sip_conf * test_sip_conf; 53 extern struct ts_conf * ts_conf;
47
48 54
49 //Storage for some usefull AVPs 55 //Storage for some usefull AVPs
50 struct sip_dict{ 56 struct sip_dict{
51 struct dict_object * Auth_Session_State; 57 struct dict_object * Auth_Session_State;
52 struct dict_object * Auth_Application_Id; 58 struct dict_object * Auth_Application_Id;
59 struct dict_object * Destination_Host;
60 struct dict_object * Destination_Realm;
53 struct dict_object * User_Name; 61 struct dict_object * User_Name;
62 struct dict_object * Session_Id;
54 struct dict_object * SIP_Auth_Data_Item; 63 struct dict_object * SIP_Auth_Data_Item;
55 struct dict_object * SIP_Authorization; 64 struct dict_object * SIP_Authorization;
56 struct dict_object * SIP_Authenticate; 65 struct dict_object * SIP_Authenticate;
57 struct dict_object * SIP_Number_Auth_Items; 66 struct dict_object * SIP_Number_Auth_Items;
58 struct dict_object * SIP_Authentication_Scheme; 67 struct dict_object * SIP_Authentication_Scheme;
59 struct dict_object * SIP_Authentication_Info; 68 struct dict_object * SIP_Authentication_Info;
60 struct dict_object * SIP_Server_URI; 69 struct dict_object * SIP_Server_URI;
61 struct dict_object * SIP_Method; 70 struct dict_object * SIP_Method;
62 struct dict_object * SIP_AOR; 71 struct dict_object * SIP_AOR;
72 struct dict_object * SIP_Deregistration_Reason;
73 struct dict_object * SIP_Reason_Code;
74 struct dict_object * SIP_Reason_Info;
63 struct dict_object * Digest_URI; 75 struct dict_object * Digest_URI;
64 struct dict_object * Digest_Nonce; 76 struct dict_object * Digest_Nonce;
65 struct dict_object * Digest_Nonce_Count; 77 struct dict_object * Digest_Nonce_Count;
66 struct dict_object * Digest_CNonce; 78 struct dict_object * Digest_CNonce;
67 struct dict_object * Digest_Realm; 79 struct dict_object * Digest_Realm;
73 struct dict_object * Digest_Algorithm; 85 struct dict_object * Digest_Algorithm;
74 struct dict_object * Digest_HA1; 86 struct dict_object * Digest_HA1;
75 }; 87 };
76 88
77 extern struct sip_dict sip_dict; 89 extern struct sip_dict sip_dict;
90 extern struct session_handler * ts_sess_hdl;
78 91
92 int ts_entry();
93 void fd_ext_fini(void);
79 94
80 95 int test_sip_LIR_cb();
81 96
82 int test_sip_default_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act); 97 int test_sip_default_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
83 int test_sip_MAA_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act); 98 int test_sip_MAA_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
84 int test_sip_RTR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act); 99 int test_sip_RTR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
100 int test_sip_LIA_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
85 101
86
"Welcome to our mercurial repository"