case MESSAGE_CONNECT:
memcpy(&p_connectinfo, ¶m->connectinfo, sizeof(p_connectinfo));
new_state(PORT_STATE_CONNECT);
+ {
+ union parameter newparam;
+ memset(&newparam, 0, sizeof(union parameter));
+ param->traffic.len = 160;
+ admin_message_from_lcr(p_r_remote_id, p_r_ref, MESSAGE_TRAFFIC, param);
+ }
break;
case MESSAGE_DISCONNECT:
switch (message_type) {
case MESSAGE_TRAFFIC:
+ if (p_dov_rx)
+ dov_rx(param->traffic.data, param->traffic.len);
/* record audio */
if (p_record)
record(param->traffic.data, param->traffic.len, 0); // from down
if (p_tap)
tap(param->traffic.data, param->traffic.len, 1); // from up
admin_message_from_lcr(p_r_remote_id, p_r_ref, MESSAGE_TRAFFIC, param);
+ } else if (p_dov_tx) {
+ /* use receeived traffic to trigger sending DOV */
+ dov_tx(param->traffic.data, param->traffic.len);
+ admin_message_from_lcr(p_r_remote_id, p_r_ref, MESSAGE_TRAFFIC, param);
}
return;
case MESSAGE_CONNECT:
memcpy(&p_connectinfo, ¶m->connectinfo, sizeof(p_connectinfo));
new_state(PORT_STATE_CONNECT);
+ {
+ union parameter newparam;
+ memset(&newparam, 0, sizeof(union parameter));
+ param->traffic.len = 160;
+ admin_message_from_lcr(p_r_remote_id, p_r_ref, MESSAGE_TRAFFIC, param);
+ }
break;
case MESSAGE_DISCONNECT:
{
union parameter newparam;
int l;
+ int ret;
+
+ if ((ret = Port::bridge_rx(data, len)))
+ return ret;
/* send tones, if connected, or if early audio is enabled in proceeding/alerting state */
if (p_state != PORT_STATE_CONNECT