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 Apr 30 15:42:41 2015 +0000
Revision:
119:ee6a53069455
Parent:
117:e9facba9db27
Child:
121:ee02790d00b7
funcionalidade - clock "ogro" - implementada

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 69:65665afbad5d 1 /**
klauss 69:65665afbad5d 2 * @file call_box.h
klauss 69:65665afbad5d 3 * @Synopsis Implementa as funções de gerenciamento do Call_Box
klauss 69:65665afbad5d 4 * @author Jhonatan Casale
klauss 69:65665afbad5d 5 * @version 1
klauss 69:65665afbad5d 6 * @date 2014-11-06
klauss 69:65665afbad5d 7 * \class Call_Box
klauss 69:65665afbad5d 8 */
klauss 0:4d17cd9c8f9d 9 #ifndef __CALL_BOX_H__
klauss 0:4d17cd9c8f9d 10 #define __CALL_BOX_H__
klauss 0:4d17cd9c8f9d 11
klauss 0:4d17cd9c8f9d 12 #include "mbed.h"
klauss 0:4d17cd9c8f9d 13 #include "object.h"
klauss 0:4d17cd9c8f9d 14 #include "sip.h"
klauss 0:4d17cd9c8f9d 15 #include "debug.h"
klauss 85:b6f2dc1d0f4f 16 #include "shared_variables.h"
klauss 74:81c47fff88a5 17
klauss 119:ee6a53069455 18 const int __RESQUEST_TIME__ = 3;
klauss 119:ee6a53069455 19 const uint16_t MAX_INVITE_RETRY = 512 * 2;
klauss 78:1353744f01e1 20
klauss 119:ee6a53069455 21 const uint8_t __TIMEOUT__ = 250;
klauss 119:ee6a53069455 22
klauss 69:65665afbad5d 23 ///< O tempo que a Header demora para "pingar" o Call_Box para saber se esta tudo bem.
klauss 119:ee6a53069455 24 const uint8_t __RANGE_TO_REGISTER__ = 150;
klauss 78:1353744f01e1 25 ///< Doc. later
klauss 119:ee6a53069455 26 const uint8_t __TIME_TO_REGISTER__ = __TIMEOUT__ - __RANGE_TO_REGISTER__;
klauss 119:ee6a53069455 27 const uint8_t __CYCLES__ = __TIME_TO_REGISTER__ / __RESQUEST_TIME__; // 200 // 3 ~ 66
klauss 119:ee6a53069455 28 const uint8_t RTP_REQUEST_PORT_TIMEOUT = 45;
klauss 78:1353744f01e1 29
klauss 119:ee6a53069455 30 const short int REQUEST_REGISTRY = -1;
klauss 119:ee6a53069455 31 const short int REQUEST_PEND = -2;
klauss 119:ee6a53069455 32 const short int REQUEST_PING = -4;
klauss 78:1353744f01e1 33
klauss 78:1353744f01e1 34 ///< Valor usado como referencia para registro do equipamento CBx.
klauss 119:ee6a53069455 35 const uint8_t __MAX_ATTEMPTS__ = 5;
klauss 69:65665afbad5d 36 ///< O numero maximo de vezes que a Header vai tentar pingar o Call_Box
klauss 119:ee6a53069455 37 const uint8_t __STEP__ = 30;
klauss 69:65665afbad5d 38 ///< Usado para aumentar o intervalo entre cada ping, fora de uso atualmente.
klauss 119:ee6a53069455 39 const uint8_t __MAX_TIMEOUT__ = __STEP__ * __MAX_ATTEMPTS__;
klauss 69:65665afbad5d 40 ///< Usado para limitar o tempo maximo de timeout do Call_Box sem responder o ping, fora de uso.
klauss 0:4d17cd9c8f9d 41
klauss 119:ee6a53069455 42 const uint8_t cb_idle = 1;
klauss 69:65665afbad5d 43 ///< Representa que o Call_Box esta disponivel
klauss 119:ee6a53069455 44 const uint8_t cb_ringing = 2;
klauss 69:65665afbad5d 45 ///< Representa o Call_Box no status, discando.
klauss 119:ee6a53069455 46 const uint8_t cb_trying = 3;
klauss 69:65665afbad5d 47 ///< Representa o Call_Box no status tentando concluir o pedido de ligação.
klauss 119:ee6a53069455 48 const uint8_t cb_on_call = 4;
klauss 69:65665afbad5d 49 ///< Representa que o Call_Box já esta em uma ligação.
klauss 119:ee6a53069455 50 const uint8_t cb_busy = 5;
klauss 69:65665afbad5d 51 ///< Representa que o Call_Box esta ocupado.
klauss 119:ee6a53069455 52 const uint8_t cb_denied = 6;
klauss 78:1353744f01e1 53 ///< Representa que o pedido de invite do Call_Box foi negado.
klauss 119:ee6a53069455 54 const uint8_t cb_bootloader = 7;
klauss 119:ee6a53069455 55 ///< Representa que o Call_Box esta em atualizacao de firmware
klauss 119:ee6a53069455 56
klauss 0:4d17cd9c8f9d 57
klauss 0:4d17cd9c8f9d 58 class Call_Box : public Object{
klauss 0:4d17cd9c8f9d 59 private :
klauss 119:ee6a53069455 60 bool invite_response;
klauss 119:ee6a53069455 61 bool bye_response;
klauss 119:ee6a53069455 62
klauss 0:4d17cd9c8f9d 63 int ext; // ramal
klauss 0:4d17cd9c8f9d 64 int port; // porta
klauss 119:ee6a53069455 65 int sip_socket_fd;
klauss 119:ee6a53069455 66 int shift_port;
klauss 119:ee6a53069455 67
klauss 0:4d17cd9c8f9d 68 uint8_t remaining_attempts;
klauss 0:4d17cd9c8f9d 69 uint8_t msg_id;
klauss 0:4d17cd9c8f9d 70 uint8_t timeslice;
klauss 78:1353744f01e1 71 uint8_t next_aging_type;
klauss 119:ee6a53069455 72 uint8_t invite_try_number;
klauss 119:ee6a53069455 73
klauss 99:e80850c51106 74 uint16_t invite_retry_count;
klauss 119:ee6a53069455 75
klauss 119:ee6a53069455 76 float timeout;
klauss 119:ee6a53069455 77
klauss 119:ee6a53069455 78 Timer t;
klauss 119:ee6a53069455 79 Timer rtp_timer; // usado pra controlar o timeout dos pedidos de porta rtp
klauss 119:ee6a53069455 80 Timer invite_timer;
klauss 0:4d17cd9c8f9d 81 public :
klauss 69:65665afbad5d 82 /**
klauss 69:65665afbad5d 83 * @Synopsis Objeto Sip que será usado para tratativas com o servidor.
klauss 69:65665afbad5d 84 *
klauss 69:65665afbad5d 85 * \note Esse objeto é criado no construtor da classe Call_Box, com os mesmos parâmetros passados para o
klauss 69:65665afbad5d 86 * construtor da classe Call_Box.
klauss 69:65665afbad5d 87 */
klauss 0:4d17cd9c8f9d 88 Sip * sip;
klauss 69:65665afbad5d 89
klauss 69:65665afbad5d 90 /**
klauss 69:65665afbad5d 91 * @Synopsis Cria um objeto Call_Box
klauss 69:65665afbad5d 92 *
klauss 69:65665afbad5d 93 * @param ext Vincula o objeto ao ramal informado
klauss 69:65665afbad5d 94 * @param port Vincula o objeto a porto informada.
klauss 69:65665afbad5d 95 *
klauss 69:65665afbad5d 96 * Exemplo:
klauss 69:65665afbad5d 97 * @code
klauss 69:65665afbad5d 98 * ...
klauss 69:65665afbad5d 99 * int ext = 5121;
klauss 69:65665afbad5d 100 * int port = 5021;
klauss 69:65665afbad5d 101 * Call_Box * cb = new Call_Box( ext, port );
klauss 69:65665afbad5d 102 * ...
klauss 69:65665afbad5d 103 * @endcode
klauss 69:65665afbad5d 104 */
klauss 0:4d17cd9c8f9d 105 Call_Box( int ext, int port );
klauss 69:65665afbad5d 106
klauss 69:65665afbad5d 107 /**
klauss 69:65665afbad5d 108 * @Synopsis Destroi o objeto Call_Box
klauss 69:65665afbad5d 109 *
klauss 69:65665afbad5d 110 * Exemplo:
klauss 69:65665afbad5d 111 * @code
klauss 69:65665afbad5d 112 * ...
klauss 69:65665afbad5d 113 * delete( cb );
klauss 69:65665afbad5d 114 * ...
klauss 69:65665afbad5d 115 * @endcode
klauss 69:65665afbad5d 116 * \note Deleta o objeto Sip nesse processo.
klauss 69:65665afbad5d 117 */
klauss 0:4d17cd9c8f9d 118 ~Call_Box( void );
klauss 0:4d17cd9c8f9d 119
klauss 69:65665afbad5d 120 /**
klauss 69:65665afbad5d 121 * @Synopsis Representa o status do Call_Box.
klauss 69:65665afbad5d 122 *
klauss 69:65665afbad5d 123 * \note Este valor sempre é atualizado ( por convenção ) com o uso da macro set_status(a,b), definida em utils.h
klauss 69:65665afbad5d 124 */
klauss 0:4d17cd9c8f9d 125 uint8_t status;
klauss 0:4d17cd9c8f9d 126
klauss 69:65665afbad5d 127 /**
klauss 69:65665afbad5d 128 * @Synopsis Informa o ramal vinculado ao objeto Call_Box.
klauss 69:65665afbad5d 129 *
klauss 69:65665afbad5d 130 * @return O numero do ramal contido atualmente no objeto Call_Box
klauss 69:65665afbad5d 131 *
klauss 69:65665afbad5d 132 * Exemplo:
klauss 69:65665afbad5d 133 * @code
klauss 69:65665afbad5d 134 * ...
klauss 69:65665afbad5d 135 * int ext = cb->get_ext();
klauss 69:65665afbad5d 136 * ...
klauss 69:65665afbad5d 137 * @endcode
klauss 69:65665afbad5d 138 */
klauss 0:4d17cd9c8f9d 139 int get_ext( void );
klauss 69:65665afbad5d 140
klauss 69:65665afbad5d 141 /**
klauss 69:65665afbad5d 142 * @Synopsis Informa o numero da porta vinculada ao objeto Call_Box.
klauss 69:65665afbad5d 143 *
klauss 69:65665afbad5d 144 * @return O numero da porta contido atualmente no objeto Call_Box
klauss 69:65665afbad5d 145 *
klauss 69:65665afbad5d 146 * Exemplo:
klauss 69:65665afbad5d 147 * @code
klauss 69:65665afbad5d 148 * ...
klauss 69:65665afbad5d 149 * int port = cb->get_port();
klauss 69:65665afbad5d 150 * ...
klauss 69:65665afbad5d 151 * @endcode
klauss 69:65665afbad5d 152 */
klauss 0:4d17cd9c8f9d 153 int get_port( void );
klauss 69:65665afbad5d 154
klauss 69:65665afbad5d 155 /**
klauss 69:65665afbad5d 156 * @Synopsis Informa o tempo decorrido.
klauss 69:65665afbad5d 157 * \note O timer de cada objeto é iniciado no momento da criação do objeto Call_Box.
klauss 69:65665afbad5d 158 *
klauss 69:65665afbad5d 159 * @return O tempo decorrido desde a ultima vez que o timer do objeto foi resetado.
klauss 69:65665afbad5d 160 *
klauss 69:65665afbad5d 161 * Exemplo:
klauss 69:65665afbad5d 162 * @code
klauss 69:65665afbad5d 163 * ...
klauss 69:65665afbad5d 164 * float elapsed_time = cb->get_elapsed_time();
klauss 69:65665afbad5d 165 * ...
klauss 69:65665afbad5d 166 * @endcode
klauss 69:65665afbad5d 167 */
klauss 0:4d17cd9c8f9d 168 float get_elapsed_time( void );
klauss 69:65665afbad5d 169
klauss 69:65665afbad5d 170 /**
klauss 69:65665afbad5d 171 * @Synopsis Reseta o timer do objeto Call_Box.
klauss 69:65665afbad5d 172 *
klauss 69:65665afbad5d 173 * Exemplo:
klauss 69:65665afbad5d 174 * @code
klauss 69:65665afbad5d 175 * ...
klauss 69:65665afbad5d 176 * cb->reset_elapsed_time();
klauss 69:65665afbad5d 177 * ...
klauss 69:65665afbad5d 178 * @endcode
klauss 69:65665afbad5d 179 */
klauss 0:4d17cd9c8f9d 180 void reset_elapsed_time( void );
klauss 69:65665afbad5d 181
klauss 69:65665afbad5d 182 /**
klauss 69:65665afbad5d 183 * @Synopsis Invoca o método de registro deste Call_Box ( via objeto Sip vinculado ).
klauss 69:65665afbad5d 184 *
klauss 69:65665afbad5d 185 * Exemplo:
klauss 69:65665afbad5d 186 * @code
klauss 69:65665afbad5d 187 * ...
klauss 69:65665afbad5d 188 * cb->registry();
klauss 69:65665afbad5d 189 * ...
klauss 69:65665afbad5d 190 * @endcode
klauss 69:65665afbad5d 191 */
klauss 0:4d17cd9c8f9d 192 void registry( void );
klauss 69:65665afbad5d 193
klauss 69:65665afbad5d 194 /**
klauss 69:65665afbad5d 195 * @Synopsis Invoca o método de pedido de ligação.
klauss 69:65665afbad5d 196 *
klauss 69:65665afbad5d 197 * @return Um ponteiro para um objeto VZ_call quando o pedido foi aceito pelo server, NULL caso em que o pedido de invite foi
klauss 69:65665afbad5d 198 * negado pelo server ou aconteceu timeout do invite.
klauss 69:65665afbad5d 199 *
klauss 69:65665afbad5d 200 * Exemplo:
klauss 69:65665afbad5d 201 * @code
klauss 69:65665afbad5d 202 * ...
klauss 69:65665afbad5d 203 * VZ_call * call = cb->invite();
klauss 69:65665afbad5d 204 * ...
klauss 69:65665afbad5d 205 * @endcode
klauss 69:65665afbad5d 206 */
klauss 0:4d17cd9c8f9d 207 VZ_call * invite( void );
klauss 69:65665afbad5d 208
klauss 69:65665afbad5d 209 /**
klauss 69:65665afbad5d 210 * @Synopsis Valor inicial para preenchimento deste campo nos pacotes trocados entre Header/Call_Box.
klauss 69:65665afbad5d 211 *
klauss 69:65665afbad5d 212 * @param msg_id Seta o valor recebido como parâmetro na variável do objeto.
klauss 69:65665afbad5d 213 *
klauss 69:65665afbad5d 214 * Exemplo:
klauss 69:65665afbad5d 215 * @code
klauss 69:65665afbad5d 216 * ...
klauss 69:65665afbad5d 217 * cb->set_msg_id( 0x12 );
klauss 69:65665afbad5d 218 * ...
klauss 69:65665afbad5d 219 * @endcode
klauss 69:65665afbad5d 220 */
klauss 0:4d17cd9c8f9d 221 void set_msg_id( uint8_t msg_id );
klauss 69:65665afbad5d 222
klauss 69:65665afbad5d 223 /**
klauss 69:65665afbad5d 224 * @Synopsis Informa o numero atual de msg_id que será enviado na próxima mensagem desse Call_Box
klauss 69:65665afbad5d 225 *
klauss 69:65665afbad5d 226 * @return O valor atual de msg_id.
klauss 69:65665afbad5d 227 *
klauss 69:65665afbad5d 228 * Exemplo:
klauss 69:65665afbad5d 229 * @code
klauss 69:65665afbad5d 230 * ...
klauss 69:65665afbad5d 231 * uint8_t msg_id = cb->get_msg_id();
klauss 69:65665afbad5d 232 * ...
klauss 69:65665afbad5d 233 * @endcode
klauss 69:65665afbad5d 234 */
klauss 0:4d17cd9c8f9d 235 uint8_t get_msg_id( void );
klauss 69:65665afbad5d 236
klauss 69:65665afbad5d 237
klauss 69:65665afbad5d 238 /**
klauss 69:65665afbad5d 239 * @Synopsis Armazena o valor de Timeslice atualmente em uso pelo Call_Box.
klauss 69:65665afbad5d 240 *
klauss 69:65665afbad5d 241 * @param timeslice O valor que corresponde ao Timeslice disponivel para comunição do Call_Box
klauss 69:65665afbad5d 242 *
klauss 69:65665afbad5d 243 * Exemplo:
klauss 69:65665afbad5d 244 * @code
klauss 69:65665afbad5d 245 * ...
klauss 69:65665afbad5d 246 * Timeslice * ts = new Timeslice();
klauss 69:65665afbad5d 247 * cb->set_timeslice( ts->get_timeslice() );
klauss 69:65665afbad5d 248 * ...
klauss 69:65665afbad5d 249 * @endcode
klauss 69:65665afbad5d 250 */
klauss 119:ee6a53069455 251 void set_timeslice( uint8_t timeslice );
klauss 69:65665afbad5d 252
klauss 69:65665afbad5d 253 /**
klauss 69:65665afbad5d 254 * @Synopsis Informa o timeslice ocupado atualmente pelo Call_Box.
klauss 69:65665afbad5d 255 *
klauss 69:65665afbad5d 256 * @return O valor do timeslice em uso pelo Call_Box.
klauss 69:65665afbad5d 257 *
klauss 69:65665afbad5d 258 * Exemplo:
klauss 69:65665afbad5d 259 * @code
klauss 69:65665afbad5d 260 * ...
klauss 69:65665afbad5d 261 * uint8_t ts = cb->get_timeslice();
klauss 69:65665afbad5d 262 * ...
klauss 69:65665afbad5d 263 * @endcode
klauss 69:65665afbad5d 264 */
klauss 0:4d17cd9c8f9d 265 uint8_t get_timeslice( void );
klauss 69:65665afbad5d 266
klauss 0:4d17cd9c8f9d 267 //void set_sip( Sip * sip );
klauss 69:65665afbad5d 268
klauss 69:65665afbad5d 269 /**
klauss 69:65665afbad5d 270 * @Synopsis Faz chamada ( via objeto Sip vinculado ) a função que irá escutar a porta SIP associada neste Call_Box.
klauss 69:65665afbad5d 271 *
klauss 69:65665afbad5d 272 * @return Um valor menor que zero se a execução falhar, igual a zero se a execução for bem sucedida e nenhum dado foi
klauss 69:65665afbad5d 273 * recebido, ou quando a execução foi bem sucedida e nenhuma mensagem que demanda tramamento foi recebida; um numero
klauss 69:65665afbad5d 274 * maior do que zero, caso tenha recebido um pacote do tipo "bye" do servidor; este numero corresponde ao ramal do Call_Box.
klauss 69:65665afbad5d 275 *
klauss 69:65665afbad5d 276 * Exemplo:
klauss 69:65665afbad5d 277 * @code
klauss 69:65665afbad5d 278 * ...
klauss 69:65665afbad5d 279 * int returned_value = cb->listen_SIP_server();
klauss 69:65665afbad5d 280 * ...
klauss 69:65665afbad5d 281 * @endcode
klauss 69:65665afbad5d 282 */
klauss 0:4d17cd9c8f9d 283 int listen_SIP_server( void );
klauss 69:65665afbad5d 284
klauss 69:65665afbad5d 285 /**
klauss 69:65665afbad5d 286 * @Synopsis Invoca ( no objeto Sip ) o método de pedido de "desregistro".
klauss 69:65665afbad5d 287 *
klauss 69:65665afbad5d 288 * Exemplo:
klauss 69:65665afbad5d 289 * @code
klauss 69:65665afbad5d 290 * ...
klauss 69:65665afbad5d 291 * cb->unregistry();
klauss 69:65665afbad5d 292 * ...
klauss 69:65665afbad5d 293 * @endcode
klauss 69:65665afbad5d 294 */
klauss 0:4d17cd9c8f9d 295 void unregistry( void );
klauss 69:65665afbad5d 296
klauss 69:65665afbad5d 297 /**
klauss 69:65665afbad5d 298 * @Synopsis Invoca ( via objeto Sip ) o método de envio do pacote de "bye" para o servidor.
klauss 69:65665afbad5d 299 *
klauss 69:65665afbad5d 300 * Exemplo:
klauss 69:65665afbad5d 301 * @code
klauss 69:65665afbad5d 302 * ...
klauss 69:65665afbad5d 303 * cb->send_bye();
klauss 69:65665afbad5d 304 * ...
klauss 69:65665afbad5d 305 * @endcode
klauss 69:65665afbad5d 306 */
klauss 0:4d17cd9c8f9d 307 void send_bye( void );
klauss 69:65665afbad5d 308
klauss 69:65665afbad5d 309 /**
klauss 69:65665afbad5d 310 * @Synopsis Destroi o objeto Sip vinculado ao Call_Box, criando e vinculando outro em seguida.
klauss 69:65665afbad5d 311 *
klauss 69:65665afbad5d 312 * Exemplo:
klauss 69:65665afbad5d 313 * @code
klauss 69:65665afbad5d 314 * ...
klauss 69:65665afbad5d 315 * cb->reset_sip();
klauss 69:65665afbad5d 316 * ...
klauss 69:65665afbad5d 317 * @endcode
klauss 69:65665afbad5d 318 */
klauss 1:a1758104fa1d 319 void reset_sip( void );
klauss 69:65665afbad5d 320
klauss 69:65665afbad5d 321 /**
klauss 69:65665afbad5d 322 * @Synopsis Altera o valor do status do objeto Sip vinculado.
klauss 69:65665afbad5d 323 *
klauss 69:65665afbad5d 324 * @param status O novo valor de status que será associado ao objeto Sip vinculado ao Call_Box.
klauss 69:65665afbad5d 325 *
klauss 69:65665afbad5d 326 * Exemplo:
klauss 69:65665afbad5d 327 * @code
klauss 69:65665afbad5d 328 * ...
klauss 69:65665afbad5d 329 * cb->set_sip_status( 0 );
klauss 69:65665afbad5d 330 * ...
klauss 69:65665afbad5d 331 * @endcode
klauss 69:65665afbad5d 332 */
klauss 14:22a35f575502 333 void set_sip_status( int status );
klauss 78:1353744f01e1 334
klauss 119:ee6a53069455 335 /*------------------------------------------------------------------------------------------------*/
klauss 119:ee6a53069455 336 bool get_invite_response( void );
klauss 119:ee6a53069455 337 bool get_bye_response( void );
klauss 119:ee6a53069455 338 bool time_to_retry ( void );
klauss 119:ee6a53069455 339 bool is_rtp_timer_timeout ( void );
klauss 78:1353744f01e1 340
klauss 78:1353744f01e1 341 int get_sip_status( void );
klauss 78:1353744f01e1 342 int set_sip_status( uint8_t sip_status );
klauss 78:1353744f01e1 343 int get_status( void );
klauss 97:8985817e8847 344 int get_sip_ext( void );
klauss 97:8985817e8847 345 int get_sip_port( void );
klauss 99:e80850c51106 346 int get_timer( void );
klauss 108:18a3702650f3 347 int get_rtp_port ( void );
klauss 114:472502b31a12 348 int print_yourself ( void );
klauss 119:ee6a53069455 349 int get_sip_socket_fd( void );
klauss 119:ee6a53069455 350 int sip_udp_incomming_pkg( void );
klauss 119:ee6a53069455 351 int get_rtp_timer ( void );
klauss 119:ee6a53069455 352 int call_init ( int timeslice );
klauss 119:ee6a53069455 353 int call_end ( bool send_bye_to_ast = true );
klauss 119:ee6a53069455 354 int call_confirmed ( void );
klauss 119:ee6a53069455 355 int retry_send_invite_pkg_to_ast ( void );
klauss 119:ee6a53069455 356
klauss 119:ee6a53069455 357 void cb_set_status( uint8_t status );
klauss 119:ee6a53069455 358 void set_invite_response_ok( void );
klauss 119:ee6a53069455 359 void set_invite_response_pending( void );
klauss 119:ee6a53069455 360
klauss 119:ee6a53069455 361 void set_bye_response_ok( void );
klauss 119:ee6a53069455 362 void set_bye_response_pending( void );
klauss 119:ee6a53069455 363
klauss 119:ee6a53069455 364 void reset_cb_status( void );
klauss 119:ee6a53069455 365 void invite_retry_count_reset( void );
klauss 119:ee6a53069455 366
klauss 119:ee6a53069455 367 uint8_t get_invite_try_number ( void );
klauss 119:ee6a53069455 368 uint8_t msg_id_update ( void );
klauss 119:ee6a53069455 369
klauss 119:ee6a53069455 370 uint16_t get_invite_retry_count( void );
klauss 119:ee6a53069455 371
klauss 108:18a3702650f3 372 void set_rtp_port ( int );
klauss 112:6ae726539ab9 373 void init_rtp_timer ( void );
klauss 112:6ae726539ab9 374 void reset_rtp_timer ( void );
klauss 119:ee6a53069455 375 void call_config ( void );
klauss 0:4d17cd9c8f9d 376 };
klauss 119:ee6a53069455 377
klauss 0:4d17cd9c8f9d 378 #endif