static bool request_handler(const struct sip_msg *msg, void *arg) { struct sipsess_sock *sock = arg; if (!pl_strcmp(&msg->met, "INVITE")) { if (pl_isset(&msg->to.tag)) reinvite_handler(sock, msg); else invite_handler(sock, msg); return true; } else if (!pl_strcmp(&msg->met, "ACK")) { ack_handler(sock, msg); return true; } else if (!pl_strcmp(&msg->met, "BYE")) { bye_handler(sock, msg); return true; } else if (!pl_strcmp(&msg->met, "INFO")) { info_handler(sock, msg); return true; } else if (!pl_strcmp(&msg->met, "REFER")) { if (!pl_isset(&msg->to.tag)) return false; refer_handler(sock, msg); return true; } return false; }
NVALUE handler_pit() { //vid_print("[handlers.c] handler_pit\r\n",0x3); ack_handler(); }
NVALUE handler_keyboard() { NUSHORT id = srvc_get_id("keyboard"); NPVALUE buf = (NPVALUE)0; rpc_call_func("kbd_handler",id,buf); ack_handler(); }