[svn-commits] oej: trunk r99383 - /trunk/channels/chan_sip.c
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Tue Jan 22 10:39:44 CST 2008
Author: oej
Date: Mon Jan 21 15:10:07 2008
New Revision: 99383
URL: http://svn.digium.com/view/asterisk?view=rev&rev=99383
Log:
Doxygen updates.
The TCP/TLS code was committed without any doxygen obviously. Tss tss.
Modified:
trunk/channels/chan_sip.c
Change Statistics:
trunk/channels/chan_sip.c | 72 +++++++++++++++++++---------------
1 file changed, 41 insertions(+), 31 deletions(-)
Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=99383&r1=99382&r2=99383
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Mon Jan 21 15:10:07 2008
@@ -32,6 +32,8 @@
* \todo Better support of forking
* \todo VIA branch tag transaction checking
* \todo Transaction support
+ * \todo We need to test TCP sessions with SIP proxies and in regards
+ * to the SIP outbound specs.
*
* \ingroup channel_drivers
*
@@ -355,37 +357,37 @@
/*! \brief States for outbound registrations (with register= lines in sip.conf */
enum sipregistrystate {
- REG_STATE_UNREGISTERED = 0, /*!< We are not registred */
- /* Initial state. We should have a timeout scheduled for the initial
+ REG_STATE_UNREGISTERED = 0, /*!< We are not registred
+ * \noteInitial state. We should have a timeout scheduled for the initial
* (or next) registration transmission, calling sip_reregister
*/
- REG_STATE_REGSENT, /*!< Registration request sent */
- /* sent initial request, waiting for an ack or a timeout to
+ REG_STATE_REGSENT, /*!< Registration request sent
+ * \note sent initial request, waiting for an ack or a timeout to
* retransmit the initial request.
*/
- REG_STATE_AUTHSENT, /*!< We have tried to authenticate */
- /* entered after transmit_register with auth info,
+ REG_STATE_AUTHSENT, /*!< We have tried to authenticate
+ * \note entered after transmit_register with auth info,
* waiting for an ack.
*/
REG_STATE_REGISTERED, /*!< Registered and done */
- REG_STATE_REJECTED, /*!< Registration rejected */
- /* only used when the remote party has an expire larger than
+ REG_STATE_REJECTED, /*!< Registration rejected *
+ * \note only used when the remote party has an expire larger than
* our max-expire. This is a final state from which we do not
* recover (not sure how correctly).
*/
- REG_STATE_TIMEOUT, /*!< Registration timed out */
- /* XXX unused */
-
- REG_STATE_NOAUTH, /*!< We have no accepted credentials */
- /* fatal - no chance to proceed */
-
- REG_STATE_FAILED, /*!< Registration failed after several tries */
- /* fatal - no chance to proceed */
+ REG_STATE_TIMEOUT, /*!< Registration timed out *
+ * \note XXX unused */
+
+ REG_STATE_NOAUTH, /*!< We have no accepted credentials
+ * \note fatal - no chance to proceed */
+
+ REG_STATE_FAILED, /*!< Registration failed after several tries
+ * \note fatal - no chance to proceed */
};
/*! \brief Modes in which Asterisk can be configured to run SIP Session-Timers */
@@ -713,6 +715,11 @@
/*! \brief Codecs that we support by default: */
static int global_capability = AST_FORMAT_ULAW | AST_FORMAT_ALAW | AST_FORMAT_GSM | AST_FORMAT_H263;
+static enum st_mode global_st_mode; /*!< Mode of operation for Session-Timers */
+static enum st_refresher global_st_refresher; /*!< Session-Timer refresher */
+static int global_min_se; /*!< Lowest threshold for session refresh interval */
+static int global_max_se; /*!< Highest threshold for session refresh interval */
+
/*@}*/
/* Object counters */
@@ -726,11 +733,6 @@
static struct ast_flags global_flags[2] = {{0}}; /*!< global SIP_ flags */
static char used_context[AST_MAX_CONTEXT]; /*!< name of automatically created context for unloading */
-static enum st_mode global_st_mode; /*!< Mode of operation for Session-Timers */
-static enum st_refresher global_st_refresher; /*!< Session-Timer refresher */
-static int global_min_se; /*!< Lowest threshold for session refresh interval */
-static int global_max_se; /*!< Highest threshold for session refresh interval */
-
AST_MUTEX_DEFINE_STATIC(netlock);
@@ -764,6 +766,7 @@
SIP_TRANSPORT_TLS = 1 << 2,
};
+/*!< The SIP socket definition */
struct sip_socket {
ast_mutex_t *lock;
enum sip_transport type;
@@ -811,7 +814,7 @@
char *header[SIP_MAX_HEADERS];
char *line[SIP_MAX_LINES];
char data[SIP_MAX_PACKET];
- struct sip_socket socket;
+ struct sip_socket socket; /*!< The socket used for this request */
};
/*! \brief structure used in transfers */
@@ -1192,7 +1195,7 @@
AST_STRING_FIELD(rpid_from); /*!< Our RPID From header */
AST_STRING_FIELD(url); /*!< URL to be sent with next message to peer */
);
- struct sip_socket socket;
+ struct sip_socket socket; /*!< The socket used for this dialog */
unsigned int ocseq; /*!< Current outgoing seqno */
unsigned int icseq; /*!< Current incoming seqno */
ast_group_t callgroup; /*!< Call group */
@@ -1211,7 +1214,7 @@
char notext; /*!< Text not supported (?) */
int timer_t1; /*!< SIP timer T1, ms rtt */
- int timer_b; /*!< SIP timer B, ms */
+ int timer_b; /*!< SIP timer B, ms */
unsigned int sipoptions; /*!< Supported SIP options on the other end */
unsigned int reqsipoptions; /*!< Required SIP options on the other end */
struct ast_codec_pref prefs; /*!< codec prefs */
@@ -1415,7 +1418,7 @@
struct sip_peer {
ASTOBJ_COMPONENTS(struct sip_peer); /*!< name, refcount, objflags, object pointers */
/*!< peer->name is the unique name of this object */
- struct sip_socket socket;
+ struct sip_socket socket; /*!< Socket used for this peer */
char secret[80]; /*!< Password */
char md5secret[80]; /*!< Password in MD5 */
struct sip_auth *auth; /*!< Realm authentication list */
@@ -17846,6 +17849,7 @@
return 1;
}
+/*! \brief Returns the port to use for this socket */
static int sip_standard_port(struct sip_socket s)
{
if (s.type & SIP_TRANSPORT_TLS)
@@ -17854,6 +17858,7 @@
return s.port == STANDARD_SIP_PORT;
}
+/*! \todo document this function. */
static struct server_instance *sip_tcp_locate(struct sockaddr_in *s)
{
struct sip_threadinfo *th;
@@ -17869,6 +17874,7 @@
return NULL;
}
+/*! \todo document this function. */
static int sip_prepare_socket(struct sip_pvt *p)
{
struct sip_socket *s = &p->socket;
@@ -18299,7 +18305,7 @@
}
-/* Session-Timers: Function for parsing Min-SE header */
+/*! \brief Session-Timers: Function for parsing Min-SE header */
int parse_minse (const char *p_hdrval, int *const p_interval)
{
if (ast_strlen_zero(p_hdrval)) {
@@ -18319,7 +18325,7 @@
}
-/* Session-Timers: Function for parsing Session-Expires header */
+/*! \brief Session-Timers: Function for parsing Session-Expires header */
int parse_session_expires(const char *p_hdrval, int *const p_interval, enum st_refresher *const p_ref)
{
char *p_token;
@@ -18811,7 +18817,7 @@
return tmpc;
}
-/*! Parse insecure= setting in sip.conf and set flags according to setting */
+/*! \brief Parse insecure= setting in sip.conf and set flags according to setting */
static void set_insecure_flags (struct ast_flags *flags, const char *value, int lineno)
{
if (ast_strlen_zero(value))
@@ -19105,8 +19111,8 @@
return a;
}
-/*!
- * implement the servar config line
+/*! \brief
+ * implement the setvar config line
*/
static struct ast_variable *add_var(const char *buf, struct ast_variable *list)
{
@@ -19350,6 +19356,7 @@
return peer;
}
+/*! \todo document this function */
static void add_peer_mailboxes(struct sip_peer *peer, const char *value)
{
char *next, *mbox, *context;
@@ -19804,6 +19811,7 @@
ASTOBJ_CONTAINER_MARKALL(&peerl);
}
+ /* Reset certificate handling for TLS sessions */
default_tls_cfg.certfile = ast_strdup(AST_CERTFILE); /*XXX Not sure if this is useful */
default_tls_cfg.cipher = ast_strdup("");
default_tls_cfg.cafile = ast_strdup("");
@@ -19823,6 +19831,7 @@
memset(&bindaddr, 0, sizeof(bindaddr));
memset(&stunaddr, 0, sizeof(stunaddr));
memset(&internip, 0, sizeof(internip));
+
/* Free memory for local network address mask */
ast_free_ha(localaddr);
memset(&localaddr, 0, sizeof(localaddr));
@@ -19884,7 +19893,8 @@
ast_set_flag(&global_flags[1], SIP_PAGE2_ALLOWOVERLAP); /* Default for peers, users: TRUE */
sip_cfg.peer_rtupdate = TRUE;
- global_st_mode = SESSION_TIMER_MODE_ACCEPT; /* Session-Timers */
+ /* Session-Timers */
+ global_st_mode = SESSION_TIMER_MODE_ACCEPT;
global_st_refresher = SESSION_TIMER_REFRESHER_UAS;
global_min_se = DEFAULT_MIN_SE;
global_max_se = DEFAULT_MAX_SE;
More information about the svn-commits
mailing list