some fixes, check README
[lcr.git] / apppbx.cpp
index f4fa4c9..e5f0e0d 100644 (file)
@@ -25,7 +25,7 @@ class EndpointAppPBX *apppbx_first = NULL;
 /*
  * EndpointAppPBX constructor
  */
-EndpointAppPBX::EndpointAppPBX(class Endpoint *epoint) : EndpointApp(epoint)
+EndpointAppPBX::EndpointAppPBX(class Endpoint *epoint, int origin) : EndpointApp(epoint, origin)
 {
        class EndpointAppPBX **apppointer;
 
@@ -49,7 +49,7 @@ EndpointAppPBX::EndpointAppPBX(class Endpoint *epoint) : EndpointApp(epoint)
         memset(&e_redirinfo, 0, sizeof(struct redir_info));
         memset(&e_capainfo, 0, sizeof(struct capa_info));
         e_start = e_stop = 0;
-//      e_origin = 0;
+       e_origin = origin;
        e_ruleset = ruleset_main;
        if (e_ruleset)
                e_rule = e_ruleset->rule_first;
@@ -1839,14 +1839,20 @@ void EndpointAppPBX::port_information(struct port_list *portlist, int message_ty
                                keypad_function(param->information.id[0]);
                } else
                {
-                       trace_header("DTMF (not enabled by extension's settings)", DIRECTION_IN);
+                       if (e_ext.number[0])
+                               trace_header("KEYPAD (not enabled by extension's settings)", DIRECTION_IN);
+                       else
+                               trace_header("KEYPAD (not enabled for external interfaces)", DIRECTION_IN);
                        end_trace();
                }
                return;
        }
        if (e_state != EPOINT_STATE_IN_OVERLAP)
        {
-               trace_header("DTMF (ignored, not connected and not dialing)", DIRECTION_IN);
+               if (e_ext.number[0])
+                       trace_header("KEYPAD (ignored, not connected and not dialing)", DIRECTION_IN);
+               else
+                       trace_header("KEYPAD (not enabled for external interfaces)", DIRECTION_IN);
                end_trace();
                return;
        }