Add 'prefix' parameter to 'goto' action
[lcr.git] / remote.cpp
index 273779c..f5105b6 100644 (file)
@@ -106,6 +106,12 @@ int Premote::message_epoint(unsigned int epoint_id, int message_type, union para
        case MESSAGE_CONNECT:
                memcpy(&p_connectinfo, &param->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:
@@ -140,6 +146,8 @@ void Premote::message_remote(int message_type, union parameter *param)
 
        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
@@ -154,6 +162,10 @@ void Premote::message_remote(int message_type, union parameter *param)
                        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;
 
@@ -205,6 +217,12 @@ void Premote::message_remote(int message_type, union parameter *param)
        case MESSAGE_CONNECT:
                memcpy(&p_connectinfo, &param->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: