X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=port.cpp;h=32184a849a3e545d1d27d0b9f5f8ea352f7f309c;hp=16fcd724b3a336a027a927cbbd1cc4b9beb56490;hb=034d3a91404addedc1c7a3494862c79532b0b878;hpb=a1c8b8d89f31cbf5ac4151ac65e9e6545e75713a diff --git a/port.cpp b/port.cpp index 16fcd72..32184a8 100644 --- a/port.cpp +++ b/port.cpp @@ -192,6 +192,8 @@ Port::Port(int type, const char *portname, struct port_settings *settings, struc #ifdef WITH_VOOTP p_vootp = NULL; #endif + /* D-O-V */ + dov_init(); /* append port to chain */ next = NULL; @@ -234,6 +236,8 @@ Port::~Port(void) if (p_record) close_record(0, 0); + dov_exit(); + classuse--; /* disconnect port from endpoint */ @@ -660,6 +664,16 @@ int Port::message_epoint(unsigned int epoint_id, int message_id, union parameter set_vootp(¶m->vootp); return 1; #endif + + case MESSAGE_DOV_REQUEST: /* Data-Over-Voice message */ + PDEBUG(DEBUG_PORT, "PORT(%s) sending data over voice message (len=%d)\n", p_name, param->dov.length); + dov_sendmsg(param->dov.data, param->dov.length, (enum dov_type)param->dov.type, param->dov.level); + return 1; + + case MESSAGE_DOV_LISTEN: /* Data-Over-Voice listen order */ + PDEBUG(DEBUG_PORT, "PORT(%s) sending data over voice listen order\n", p_name); + dov_listen((enum dov_type)param->dov.type); + return 1; } return 0;