forward.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * $Id$
  3. *
  4. * Copyright (C) 2001-2003 Fhg Fokus
  5. *
  6. * This file is part of ser, a free SIP server.
  7. *
  8. * ser is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation; either version 2 of the License, or
  11. * (at your option) any later version
  12. *
  13. * For a license to use the ser software under conditions
  14. * other than those described here, or to purchase support for this
  15. * software, please contact iptel.org by e-mail at the following addresses:
  16. * [email protected]
  17. *
  18. * ser is distributed in the hope that it will be useful,
  19. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  21. * GNU General Public License for more details.
  22. *
  23. * You should have received a copy of the GNU General Public License
  24. * along with this program; if not, write to the Free Software
  25. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  26. */
  27. #ifndef forward_h
  28. #define forward_h
  29. #include "parser/msg_parser.h"
  30. #include "route.h"
  31. #include "proxy.h"
  32. #include "ip_addr.h"
  33. struct socket_info* get_send_socket(union sockaddr_union* su, int proto);
  34. int check_self(str* host, unsigned short port);
  35. int forward_request( struct sip_msg* msg, struct proxy_l* p, int proto);
  36. int update_sock_struct_from_via( union sockaddr_union* to,
  37. struct via_body* via );
  38. #define update_sock_struct_from_ip( to, msg ) \
  39. init_su((to), &(msg)->rcv.src_ip, \
  40. ((msg)->via1->port)?htons((msg)->via1->port): htons(SIP_PORT) )
  41. int forward_reply( struct sip_msg* msg);
  42. #endif