receive.c File Reference

Receive message and process routing for it. More...

#include <string.h>
#include <stdlib.h>
#include <sys/time.h>
#include "receive.h"
#include "globals.h"
#include "dprint.h"
#include "route.h"
#include "parser/msg_parser.h"
#include "forward.h"
#include "action.h"
#include "mem/mem.h"
#include "ip_addr.h"
#include "script_cb.h"
#include "dset.h"
#include "usr_avp.h"
#include "core_stats.h"
#include "tcp_server.h"

Include dependency graph for receive.c:

Go to the source code of this file.

Functions

unsigned int get_next_msg_no (void)
int receive_msg (char *buf, unsigned int len, struct receive_info *rcv_info)
 Receive a message and process routing for it.

Variables

str default_global_address = {0,0}
str default_global_port = {0,0}
str default_via_address = {0,0}
str default_via_port = {0,0}
static unsigned int msg_no = 0


Detailed Description

Receive message and process routing for it.

Definition in file receive.c.


Function Documentation

unsigned int get_next_msg_no ( void   ) 

Definition at line 78 of file receive.c.

References msg_no.

int receive_msg ( char *  buf,
unsigned int  len,
struct receive_info rcv_info 
)

Receive a message and process routing for it.

Receive a message, execute pre script callbacks, run top route and execute post script callbacks. Then the on_reply route is executed, and the message eventual forwarded.

Warning:
buf must be 0 terminated (buf[len]=0) or some things might break (e.g.: modules/textops)
Parameters:
buf message
len message length
rcv_info receive informations
Returns:
0 on success, -1 on errors

Definition at line 96 of file receive.c.

References ACT_FL_DROP, via_body::alias, sip_msg::buf, clear_branches(), DEFAULT_RT, via_body::error, exec_post_req_cb(), exec_post_rpl_cb(), exec_pre_req_cb(), exec_pre_rpl_cb(), sip_msg::first_line, forward_reply(), free_sip_msg(), sip_msg::id, sip_msg::len, LM_DBG, LM_ERR, msg_no, onreply_rlist, ONREPLY_ROUTE, parse_msg(), PARSE_OK, pkg_free, pkg_malloc, via_body::port, receive_info::proto, receive_info::proto_reserved1, PROTO_TCP, PROTO_TLS, sip_msg::rcv, REQUEST_ROUTE, reset_avps(), rlist, run_top_route(), sip_msg::set_global_address, sip_msg::set_global_port, set_route_type, SIP_REPLY, SIP_REQUEST, tcpconn_add_alias(), msg_start::type, update_stat, sip_msg::via1, and via_cnt.

Referenced by udp_rcv_loop().


Variable Documentation

pre-set addresses

Definition at line 73 of file receive.c.

Referenced by faked_msg_init().

pre-ser ports

Definition at line 74 of file receive.c.

Referenced by faked_msg_init().

Definition at line 75 of file receive.c.

Definition at line 76 of file receive.c.

unsigned int msg_no = 0 [static]

Definition at line 71 of file receive.c.

Referenced by get_next_msg_no(), and receive_msg().


Generated on Thu May 24 10:00:42 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6