Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Thu Sep 18 13:56:13 2014 +0000
Revision:
15:9c7456c1b6f4
Parent:
13:ae278302dffe
Child:
16:b45b5b7363d7
versao de ajuste pos teste de implantacao na pista

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 0:4d17cd9c8f9d 1 #ifndef __SIP_H__
klauss 0:4d17cd9c8f9d 2 #define __SIP_H__
klauss 0:4d17cd9c8f9d 3
klauss 0:4d17cd9c8f9d 4 #include <stdlib.h>
klauss 0:4d17cd9c8f9d 5 #include <stdint.h>
klauss 0:4d17cd9c8f9d 6 #include <string.h>
klauss 0:4d17cd9c8f9d 7 #include "mbed.h"
klauss 0:4d17cd9c8f9d 8 #include "EthernetInterface.h"
klauss 0:4d17cd9c8f9d 9 #include "call.h"
klauss 0:4d17cd9c8f9d 10 #include "vz_protocol.h"
klauss 0:4d17cd9c8f9d 11 #include "debug.h"
klauss 0:4d17cd9c8f9d 12
klauss 3:cd9148672e25 13 #define __INVITE_MAX_WAITING_TIME__ 30
klauss 0:4d17cd9c8f9d 14 #define SIP_MAXFIELDSIZE 256
klauss 0:4d17cd9c8f9d 15 #define SIP_MAXMSGSIZE 2048
klauss 0:4d17cd9c8f9d 16 #define SIP_REGISTER_EXPIRES 120
klauss 0:4d17cd9c8f9d 17 #define DRAMBASEADDR 0xa0000000
klauss 0:4d17cd9c8f9d 18 #define SIP_ALLOW "Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER"
klauss 0:4d17cd9c8f9d 19 /* #define SIP_ALLOW "Allow: ACK, BYE, CANCEL, INVITE, OPTIONS" */
klauss 15:9c7456c1b6f4 20 /*
klauss 0:4d17cd9c8f9d 21 #define __SEVER_IP__ "192.168.120.120"
klauss 0:4d17cd9c8f9d 22 #define __SERVER_PORT__ 5075
klauss 8:e3bfe62a477e 23 //#define __MY_IP__ "192.168.120.191"
klauss 15:9c7456c1b6f4 24 */
klauss 0:4d17cd9c8f9d 25 #define __MY_PORT__ 5062
klauss 0:4d17cd9c8f9d 26 #define __MY_EXT__ 820
klauss 15:9c7456c1b6f4 27 #define __PEER_EXT__ 913
klauss 15:9c7456c1b6f4 28
klauss 15:9c7456c1b6f4 29 //#define colinas_config
klauss 15:9c7456c1b6f4 30 #ifdef colinas_config
klauss 15:9c7456c1b6f4 31 #define __SEVER_IP__ "192.168.30.25"
klauss 15:9c7456c1b6f4 32 #define __SERVER_PORT__ 5060
klauss 15:9c7456c1b6f4 33 #endif
klauss 15:9c7456c1b6f4 34 #ifndef colinas_config
klauss 15:9c7456c1b6f4 35 #define __SEVER_IP__ "192.168.120.120"
klauss 15:9c7456c1b6f4 36 #define __SERVER_PORT__ 5075
klauss 15:9c7456c1b6f4 37 #endif
klauss 0:4d17cd9c8f9d 38
klauss 0:4d17cd9c8f9d 39 #define sip_idle 0
klauss 0:4d17cd9c8f9d 40 #define sip_waiting_trying 1 << 1
klauss 0:4d17cd9c8f9d 41 #define sip_trying 1 << 2
klauss 0:4d17cd9c8f9d 42 #define sip_ringing 1 << 3
klauss 0:4d17cd9c8f9d 43 #define sip_busy 1 << 4
klauss 0:4d17cd9c8f9d 44 #define sip_ok 1 << 5
klauss 0:4d17cd9c8f9d 45 #define sip_on_call 1 << 6
klauss 0:4d17cd9c8f9d 46 #define sip_denied 1 << 7
klauss 0:4d17cd9c8f9d 47
klauss 0:4d17cd9c8f9d 48 class Sip{
klauss 0:4d17cd9c8f9d 49
klauss 0:4d17cd9c8f9d 50 private :
klauss 0:4d17cd9c8f9d 51 int id;
klauss 0:4d17cd9c8f9d 52 char server_ip[20];
klauss 0:4d17cd9c8f9d 53 int server_port;
klauss 0:4d17cd9c8f9d 54 char my_ip[20];
klauss 0:4d17cd9c8f9d 55 int my_port;
klauss 0:4d17cd9c8f9d 56 int my_ext;
klauss 0:4d17cd9c8f9d 57 int my_rtp_port;
klauss 0:4d17cd9c8f9d 58 char my_display[20];
klauss 0:4d17cd9c8f9d 59 int peer_ext;
klauss 0:4d17cd9c8f9d 60 char fill_random_aux[ 65 ];
klauss 0:4d17cd9c8f9d 61 char last_invite_tag[ SIP_MAXFIELDSIZE ];
klauss 0:4d17cd9c8f9d 62 char last_invite_callid[ SIP_MAXFIELDSIZE ];
klauss 0:4d17cd9c8f9d 63 char SVNREV[ 16 ];
klauss 13:ae278302dffe 64 char buffer[ 1024 ];
klauss 0:4d17cd9c8f9d 65 UDPSocket sock;
klauss 0:4d17cd9c8f9d 66 Endpoint sip_server;
klauss 0:4d17cd9c8f9d 67 void __init_sock__( void );
klauss 0:4d17cd9c8f9d 68 void __end_sock__( void );
klauss 0:4d17cd9c8f9d 69 public :
klauss 0:4d17cd9c8f9d 70 uint8_t status;
klauss 0:4d17cd9c8f9d 71 Sip();
klauss 0:4d17cd9c8f9d 72 Sip( int id, uint16_t my_port );
klauss 0:4d17cd9c8f9d 73 Sip( int id, uint16_t my_port, int dest_ext );
klauss 0:4d17cd9c8f9d 74 Sip( char * server_ip, int server_port, char * my_ip, int my_port, int my_ext, int peer_ext, int id );
klauss 0:4d17cd9c8f9d 75 ~Sip();
klauss 0:4d17cd9c8f9d 76 void registry( void );
klauss 0:4d17cd9c8f9d 77 VZ_call * invite( void );
klauss 0:4d17cd9c8f9d 78
klauss 0:4d17cd9c8f9d 79 char * make_content_length( char * header, char * body, char * pkg );
klauss 0:4d17cd9c8f9d 80
klauss 0:4d17cd9c8f9d 81 int get_return_code( char * s );
klauss 0:4d17cd9c8f9d 82 int get_cseq( void );
klauss 0:4d17cd9c8f9d 83 int get_id( void );
klauss 0:4d17cd9c8f9d 84 int get_my_rtp_port( void );
klauss 0:4d17cd9c8f9d 85
klauss 0:4d17cd9c8f9d 86 char * build_registry_package( char * buffer );
klauss 0:4d17cd9c8f9d 87 char * build_unregistry_package( char * buffer );
klauss 0:4d17cd9c8f9d 88 char * build_invite_package( char * s, char * callbox_string, int * cseq );
klauss 0:4d17cd9c8f9d 89 char * build_bye_package( char * buffer );
klauss 0:4d17cd9c8f9d 90 char * build_ack_package( char * buffer, unsigned char * orig );
klauss 0:4d17cd9c8f9d 91 char * build_generic_reply_package(char * s, unsigned char * orig, char * tag);
klauss 0:4d17cd9c8f9d 92 char * build_trying_package( char * buffer, unsigned char * orig );
klauss 0:4d17cd9c8f9d 93 char * build_busy_package( char * buffer, unsigned char * orig );
klauss 0:4d17cd9c8f9d 94 char * build_reply_package( char * buffer, unsigned char * orig );
klauss 0:4d17cd9c8f9d 95
klauss 0:4d17cd9c8f9d 96 char * fill_random16h(char * buffer );
klauss 0:4d17cd9c8f9d 97 char * fill_random( char * buffer, int size );
klauss 0:4d17cd9c8f9d 98 int fill_random_rtp_port( void );
klauss 0:4d17cd9c8f9d 99
klauss 0:4d17cd9c8f9d 100 char * decode_cseq(unsigned char * package, char * cseq);
klauss 0:4d17cd9c8f9d 101 char * decode_branch( unsigned char * package, char * branch );
klauss 0:4d17cd9c8f9d 102 int decode_gettag( unsigned char * package, char * tag, char * out );
klauss 0:4d17cd9c8f9d 103
klauss 0:4d17cd9c8f9d 104 void change_sip_server();
klauss 0:4d17cd9c8f9d 105 char * get_next_server_ip( char *server_ip );
klauss 0:4d17cd9c8f9d 106 int get_next_server_port();
klauss 0:4d17cd9c8f9d 107 int get_next_server_ext();
klauss 0:4d17cd9c8f9d 108
klauss 0:4d17cd9c8f9d 109 void set_server_ext( int new_server_ext );
klauss 0:4d17cd9c8f9d 110 void set_server_port( int new_server_port );
klauss 0:4d17cd9c8f9d 111 void set_ext( int ext );
klauss 0:4d17cd9c8f9d 112 void set_port( int port );
klauss 0:4d17cd9c8f9d 113 void set_server_ip( char * new_server_ip );
klauss 0:4d17cd9c8f9d 114
klauss 0:4d17cd9c8f9d 115 int listen_SIP_server( void );
klauss 0:4d17cd9c8f9d 116 void send_bye( void );
klauss 0:4d17cd9c8f9d 117 void send_unregistry_pkg( void );
klauss 0:4d17cd9c8f9d 118
klauss 0:4d17cd9c8f9d 119 uint8_t get_status( void );
klauss 0:4d17cd9c8f9d 120 };
klauss 0:4d17cd9c8f9d 121 #endif