NOTE: running the yp-client code requires that the netconfd-pro server is built
with pthreads=1 or that you are running one of the pthreads binary servers.

The callhome-server.cpp example code demonstrates the minimal setup
to operate a NETCONF CallHome Server. It listens for CallHome requests
and then uses the TCP connection to initiate a NETCONF session.
APIs to start and access the callhome sessions are provided.

Multiple sessions can be active at the same time but commands
are serialized.  A single thread for the callhome-server code is used.
Multi-thread (properly isolated) concurrent session threads are not supported.

You should be familiar with the Call Home functionality in yangcli-pro.
If a valid yangcli-pro.conf file is found, the callhome parameters
can be setup that way.

In either case, the startCallhomeServer API must be called
to register callback functions for new callhome sessions.


Before running the code you should edit callhome-server.cpp to
configure the callhome server parameters. A callhome user must
also be configured.

The code shows the following:

* setup code to deal with any exceptions
* setup a callhome-user (User)
* setup multi-session notification handler
* setup the callhome server
* setup a new callhome session when it starts
* print session capabilities
* sample app waits for commands and sends them to all sessions
