Ranga recently reported
  http://track.sipfoundry.org/browse/XECS-1803
  sipx proxy server refuses to start ... (fails configtest)

His immediate problem is that the configtest is trying to verify that
DNS and the IP address is correctly configured.  I'll go into the
details of his system with him elsewhere, but there's a general issue
that's all tied up with getting rid of config.defs :

  How should sipXecs services decide what interface to bind to?

    Important Note:
      The sipXtackLib (and therefor all the stuff built on top of it)
      expects to be using just one IP interface (or, put another way,
      just one IP address).  It doesn't matter if there are multiple
      interfaces so long as anything reachable through any of them
      knows how to route back to any other network, but that is often
      not the case these days.  In particular, you cannot (now) put
      one interface of your proxy on a public network and one on a
      private network and have it work reliably for things on both.
      Fixing this is not simple and won't happen this cycle, and I
      won't go further into why: for now just accept it.  If you're
      not a developer, stop here... just don't try to do multiple
      interfaces now: it won't work reliably.

  How we pick the interface now:

  Most services have a configuration directive that tells them what
  interface to bind to: in the case of sipXproxy, for example, it's
  .../etc/sipxpbx/sipXproxy-config: SIPX_PROXY_BIND_IP

  That (and probably all the similar directives for other services)
  are (or were) set from the .../etc/sipxpbx/config.defs variable
  MY_IP_ADDR.

  The current default way to set MY_IP_ADDR is the output of the
  script .../bin/get_def_addr, which relies on being able to parse the
  output from the 'ifconfig' and 'route' commands.  The get_def_addr
  script is a really really bad idea for two important reasons:

    - Humans should choose the interface because they know why there
      is more than one and what is where.  Right now, the script tries
      to pick the interface that leads to the default (0.0.0.0) route;
      this may or may not be the right answer.

    - The output of those commands is not in an easily parsed format.

  So... what would be better?

  We want sipXconfig to generate all the configuration files, but how
  should it get the addresses for each system and decide which one the
  services should use?

  Should we just have the sipx-setup script ask and stick the answer
  in a well known place for sipXconfig to read?

  Please don't say "let's just keep config.defs".


_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev

Reply via email to