annotate extensions/app_sip/app_sip.h @ 468:d20317e74a41

App_SIP: changed query length thanks to Julien Pichon contribution
author Alexandre Westfahl <awestfahl@freediameter.net>
date Mon, 02 Aug 2010 18:09:44 +0900
parents f38bff0bf3e9
children 95a784729cac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
1 /*********************************************************************************************************
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
2 * Software License Agreement (BSD License) *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
3 * Author: Alexandre Westfahl <awestfahl@freesipserver.net> *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
4 * *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
5 * Copyright (c) 2010, Alexandre Westfahl, Teraoka Laboratory (Keio University), and the WIDE Project. *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
6 * *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
7 * All rights reserved. *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
8 * *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
9 * Redistribution and use of this software in source and binary forms, with or without modification, are *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
10 * permitted provided that the following conditions are met: *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
11 * *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
12 * * Redistributions of source code must retain the above *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
13 * copyright notice, this list of conditions and the *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
14 * following disclaimer. *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
15 * *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
16 * * Redistributions in binary form must reproduce the above *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
17 * copyright notice, this list of conditions and the *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
18 * following disclaimer in the documentation and/or other *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
19 * materials provided with the distribution. *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
20 * *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
21 * * Neither the name of the Teraoka Laboratory nor the *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
22 * names of its contributors may be used to endorse or *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
23 * promote products derived from this software without *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
24 * specific prior written permission of Teraoka Laboratory *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
25 * *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
26 * *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
28 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
29 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
30 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
31 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
33 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
34 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
35 *********************************************************************************************************/
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
36 #include <freeDiameter/extension.h>
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
37 #include <sys/time.h>
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
38 #include <stdint.h>
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
39 #include <stdlib.h>
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
40 #include <stdio.h>
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
41 #include <gcrypt.h>
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
42 #include <string.h>
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
43 #include <mysql.h>
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
44 #include "md5.h"
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
45
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
46
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
47 #define NONCE_SIZE 16
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
48 #define DIGEST_LEN 16
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
49
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
50
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
51 /* Mode for the extension */
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
52 #define MODE_DSSERVER 0x1
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
53 #define MODE_SL 0x2
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
54
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
55 //Redirect_Host_Usage
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
56 #define ALL_USER 6
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
57
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
58 /* The module configuration */
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
59 struct as_conf {
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
60 int mode; /* default MODE_DSSERVER | MODE_SL */
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
61 enum {ASMYSQL} datasource;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
62 char * mysql_login;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
63 char * mysql_password;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
64 char * mysql_database;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
65 char * mysql_server;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
66 char mysql_prefix[10]; //default: as_
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
67 uint16_t mysql_port; //if 0, default port will be used
440
f38bff0bf3e9 Added dynamic port choice for app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 434
diff changeset
68 uint16_t rtr_port;
f38bff0bf3e9 Added dynamic port choice for app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 434
diff changeset
69 uint16_t ppr_port;
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
70 };
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
71 extern struct as_conf * as_conf;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
72
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
73 /* Parse the configuration file */
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
74 int as_conf_handle(char * conffile);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
75
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
76
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
77 extern MYSQL *conn;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
78
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
79
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
80
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
81 void calc_md5(char *buffer, char * data);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
82 void clear_digest(uint8_t * digest, char * readable_digest, int digestlength);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
83 struct avp_hdr * walk_digest(struct avp *avp, int avp_code);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
84
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
85
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
86 //MySQL part
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
87 int start_mysql_connection();
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
88 void request_mysql(char *query);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
89 void close_mysql_connection();
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
90 int get_sipserver_uri(const unsigned char *sip_aor, const size_t sipaorlen, unsigned char ** sipserver_uri, size_t *sipserverurilen);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
91 int exist_username(const unsigned char *sip_aor, const size_t sipaorlen);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
92 int get_sipserver_cap(const unsigned char *sip_aor, const size_t sipaorlen, struct avp **capabilities);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
93 int get_password(const unsigned char *username, const size_t usernamelen, char *password);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
94 int check_sipaor(const unsigned char *username, const size_t usernamelen, const char * sip_aor,const size_t sipaorlen);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
95 int add_user_datatype(const unsigned char *sip_aor, const size_t sipaorlen,struct msg *message);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
96 int set_pending_flag(const unsigned char *username, const size_t usernamelen);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
97 int clear_pending_flag(const unsigned char *username, const size_t usernamelen);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
98 int set_real_sipserver_uri(const unsigned char *username, const size_t usernamelen, const unsigned char *sipserver_uri,const size_t sipserverurilen);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
99 int set_sipserver_uri(const unsigned char *username, const size_t usernamelen, const unsigned char *sipserver_uri,const size_t sipserverurilen);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
100 //int get_sipserver_uri(const unsigned char *sip_aor, const size_t sipaorlen, unsigned char ** sipserver_uri, size_t *sipserverurilen);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
101 int allow_roaming(const unsigned char *username, const size_t usernamelen, const char * network,const size_t networklen);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
102 int get_diameter_uri(const unsigned char *sip_aor, const size_t sipaorlen, char ** diameter_uri, size_t *diameterurilen);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
103 //count functions
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
104 int count_avp(struct msg * message, int code, int vendor);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
105
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
106
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
107 void DigestCalcHA1(char * pszAlg,char * pszUserName,char * pszRealm,char * pszPassword,char * pszNonce,char * pszCNonce,HASHHEX SessionKey);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
108 void DigestCalcResponse(HASHHEX HA1,char * pszNonce,char * pszNonceCount,char * pszCNonce,char * pszQop,char * pszMethod,char * pszDigestUri,HASHHEX HEntity,HASHHEX Response);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
109 void DigestCalcResponseAuth(HASHHEX HA1,char * pszNonce,char * pszNonceCount,char * pszCNonce,char * pszQop,char * pszMethod,char * pszDigestUri,HASHHEX HEntity,HASHHEX Response);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
110
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
111 int fd_avp_search_avp ( struct avp * groupedavp, struct dict_object * what, struct avp ** avp );
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
112
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
113 //thread procedure
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
114 void *rtr_socket(void *);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
115 void *ppr_socket(void *);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
116
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
117 struct rtrsipaor
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
118 {
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
119 char username[200];
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
120 char sip_aor1[200];
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
121 char sip_aor2[200];
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
122 char sip_aor3[200];
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
123 char strreason[200];
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
124 char desthost[200];
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
125 int reason;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
126 };
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
127 struct pprsipaor
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
128 {
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
129 char username[200];
434
a94ecaaf15ec Added command line PPR
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 433
diff changeset
130 char datatype1[255];
a94ecaaf15ec Added command line PPR
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 433
diff changeset
131 char datatype2[255];
a94ecaaf15ec Added command line PPR
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 433
diff changeset
132 char datatype3[255];
a94ecaaf15ec Added command line PPR
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 433
diff changeset
133 int accounting;
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
134 };
434
a94ecaaf15ec Added command line PPR
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 433
diff changeset
135
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
136 int app_sip_RTR_cb(struct rtrsipaor structure);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
137 int app_sip_PPR_cb(struct pprsipaor structure);
440
f38bff0bf3e9 Added dynamic port choice for app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 434
diff changeset
138
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
139
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
140 int ds_entry();
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
141 void fd_ext_fini(void);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
142 int app_sip_default_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
143 int app_sip_MAR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
144 int app_sip_RTA_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
145 int app_sip_PPA_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
146 int app_sip_LIR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
147 int app_sip_UAR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
148 int app_sip_SAR_cb( struct msg ** msg, struct avp * avp, struct session * sess, enum disp_action * act);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
149
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
150 //Suscriber Locator
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
151 int app_sip_SL_LIR_cb( struct msg ** msg, struct avp * paramavp, struct session * sess, enum disp_action * act);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
152 //int app_sip_SL_SAR_cb( struct msg ** msg, struct avp * paramavp, struct session * sess, enum disp_action * act);
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
153
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
154 #define SQL_GETPASSWORD "SELECT `password` FROM ds_users WHERE `username` ='%s'"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
155 #define SQL_GETPASSWORD_LEN sizeof(SQL_GETPASSWORD)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
156
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
157 //username by SIP-AOR
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
158 #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`"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
159 #define SQL_GETUSERNAME_LEN sizeof(SQL_GETUSERNAME)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
160
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
161 //sip server uri by username
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
162 #define SQL_GETSIPURI "SELECT `sip_server_uri` FROM ds_users WHERE `username` ='%s'"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
163 #define SQL_GETSIPURI_LEN sizeof(SQL_GETSIPURI)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
164
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
165 //sip server uri by SIP-AOR
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
166 #define SQL_GETSIPSERURI "SELECT `ds_sip_aor`.`sip_server_uri` FROM ds_users, ds_sip_aor WHERE `sip_aor` ='%s' AND `ds_sip_aor`.`id_user` = `ds_users`.`id_user`"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
167 #define SQL_GETSIPSERURI_LEN sizeof(SQL_GETSIPSERURI)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
168
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
169 //sip capabilities for a SIP-AOR
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
170 #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`"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
171 #define SQL_GETSIPSERCAP_LEN sizeof(SQL_GETSIPSERCAP)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
172
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
173 //user data for a user data supported
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
174 #define SQL_GETSIPDATA "SELECT `label_type`,`data` FROM ds_sip_aor, ds_user_data, ds_data_types WHERE `sip_aor` ='%s' AND `ds_sip_aor`.`id_sip_aor` = `ds_user_data`.`id_sip_aor` AND `ds_data_types`.`id_data_type`=`ds_user_data`.`id_data_type`"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
175 #define SQL_GETSIPDATA_LEN sizeof(SQL_GETSIPDATA)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
176
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
177 #define SQL_GETDIAMURI "SELECT `sipserver_uri` FROM ds_sip_aor_map WHERE `sip_aor` ='%s'"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
178 #define SQL_GETDIAMURI_LEN sizeof(SQL_GETDIAMURI)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
179
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
180 //networks for this user
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
181 #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`"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
182 #define SQL_GETUSERNET_LEN sizeof(SQL_GETUSERNET)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
183
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
184 #define SQL_SETSIPURI "UPDATE ds_users SET `temp_sip_server_uri`='%s' WHERE `username` ='%s'"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
185 #define SQL_SETSIPURI_LEN sizeof(SQL_SETSIPURI)-4
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
186
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
187 //TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
188 #define SQL_RMSIPURI "UPDATE ds_users SET `temp_sip_server_uri`='', `sip_server_uri`='' WHERE `id_user` ='%s'"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
189 #define SQL_RMSIPURI_LEN sizeof(SQL_RMSIPURI)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
190 //TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
191
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
192 #define SQL_SETREALSIPURI "UPDATE ds_users SET `sip_server_uri`='%s' WHERE `username` ='%s'"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
193 #define SQL_SETREALSIPURI_LEN sizeof(SQL_SETREALSIPURI)-4
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
194
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
195 #define SQL_SETFLAG "UPDATE ds_users SET `authentication_pending`=1 WHERE `username` ='%s'"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
196 #define SQL_SETFLAG_LEN sizeof(SQL_SETFLAG)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
197
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
198 #define SQL_CLEARFLAG "UPDATE ds_users SET `authentication_pending`=0, `registrated`=1 WHERE `username` ='%s'"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
199 #define SQL_CLEARFLAG_LEN sizeof(SQL_CLEARFLAG)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
200
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
201 #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'"
468
d20317e74a41 App_SIP: changed query length thanks to Julien Pichon contribution
Alexandre Westfahl <awestfahl@freediameter.net>
parents: 440
diff changeset
202 #define SQL_GETSIPAOR_LEN sizeof(SQL_GETSIPAOR)-2
433
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
203
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
204 //#define SQL_CLEARFLAG "UPDATE ds_users SET `authentication_pending`=0 WHERE `username` ='%s'"
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
205 //#define SQL_CLEARFLAG_LEN 67
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
206
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
207 extern struct session_handler * ds_sess_hdl;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
208
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
209 //AVP code
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
210 #define CODE_SIP_USER_DATA_TYPE 388
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
211 #define CODE_SIP_AOR 122
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
212
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
213 struct ds_nonce
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
214 {
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
215 char *nonce;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
216 };
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
217
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
218 //Storage for some usefull AVPs
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
219 struct app_sip_dict{
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
220 struct dict_object * Auth_Session_State;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
221 struct dict_object * Auth_Application_Id;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
222 struct dict_object * Destination_Host;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
223 struct dict_object * Destination_Realm;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
224 struct dict_object * User_Name;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
225 struct dict_object * Session_Id;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
226 struct dict_object * Redirect_Host;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
227 struct dict_object * Redirect_Host_Usage;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
228 struct dict_object * SIP_Auth_Data_Item;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
229 struct dict_object * SIP_Accounting_Information;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
230 struct dict_object * SIP_Accounting_Server_URI;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
231 struct dict_object * SIP_Credit_Control_Server_URI;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
232 struct dict_object * SIP_Server_Assignment_Type;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
233 struct dict_object * SIP_Item_Number;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
234 struct dict_object * SIP_User_Authorization_Type;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
235 struct dict_object * SIP_Supported_User_Data_Type;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
236 struct dict_object * SIP_User_Data;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
237 struct dict_object * SIP_User_Data_Type;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
238 struct dict_object * SIP_User_Data_Contents;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
239 struct dict_object * SIP_User_Data_Already_Available;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
240 struct dict_object * SIP_Visited_Network_Id;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
241 struct dict_object * SIP_Authorization;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
242 struct dict_object * SIP_Authenticate;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
243 struct dict_object * SIP_Number_Auth_Items;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
244 struct dict_object * SIP_Authentication_Scheme;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
245 struct dict_object * SIP_Authentication_Info;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
246 struct dict_object * SIP_Server_URI;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
247 struct dict_object * SIP_Server_Capabilities;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
248 struct dict_object * SIP_Mandatory_Capability;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
249 struct dict_object * SIP_Optional_Capability;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
250 struct dict_object * SIP_Method;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
251 struct dict_object * SIP_AOR;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
252 struct dict_object * SIP_Deregistration_Reason;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
253 struct dict_object * SIP_Reason_Code;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
254 struct dict_object * SIP_Reason_Info;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
255 struct dict_object * Digest_URI;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
256 struct dict_object * Digest_Nonce;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
257 struct dict_object * Digest_Nonce_Count;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
258 struct dict_object * Digest_CNonce;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
259 struct dict_object * Digest_Realm;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
260 struct dict_object * Digest_Response;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
261 struct dict_object * Digest_Response_Auth;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
262 struct dict_object * Digest_Username;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
263 struct dict_object * Digest_Method;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
264 struct dict_object * Digest_QOP;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
265 struct dict_object * Digest_Algorithm;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
266 struct dict_object * Digest_HA1;
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
267 };
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
268
0d08a9ab2212 Corrected name mistakes on app_sip
Alexandre Westfahl <awestfahl@freediameter.net>
parents:
diff changeset
269 extern struct app_sip_dict sip_dict;
"Welcome to our mercurial repository"