Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Tue Sep 01 17:21:11 2015 +0000
Revision:
132:05cd37f7e007
Parent:
126:1f90756250fb
Child:
135:2f4290590e51
Substitui??o de; send_msg -> vz_printf; debug_msg -> vz_debug

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