Author: derek Date: Tue Aug 8 19:07:15 2006 New Revision: 60 Modified: sofaswitch/trunk/am/main.cxx sofaswitch/trunk/am/main.h sofaswitch/trunk/am/supervisor.cxx sofaswitch/trunk/mcu/Makefile sofaswitch/trunk/mcu/audio.h sofaswitch/trunk/mcu/comms.h sofaswitch/trunk/mcu/conferenceroom.h sofaswitch/trunk/mcu/main.cxx sofaswitch/trunk/mcu/main.h sofaswitch/trunk/mcu/manager.cxx sofaswitch/trunk/mcu/manager.h sofaswitch/trunk/mcu/member.h sofaswitch/trunk/mcu/participant.h sofaswitch/trunk/mcu/supervisor.cxx sofaswitch/trunk/mcu/supervisor.h sofaswitch/trunk/mcu/version.h sofaswitch/trunk/message.cxx sofaswitch/trunk/sofa/include/sofa/messages.h sofaswitch/trunk/sofa/src/messages.cxx sofaswitch/trunk/sound/audio.h sofaswitch/trunk/sound/comms.h sofaswitch/trunk/started.cxx sofaswitch/trunk/voip/Makefile sofaswitch/trunk/voip/docs.cfg sofaswitch/trunk/voip/main.cxx sofaswitch/trunk/voip/main.h sofaswitch/trunk/voip/mymanager.h sofaswitch/trunk/voip/overview.cxx sofaswitch/trunk/voip/supervisor.cxx sofaswitch/trunk/voip/version.h Log: Remove the SS prefix to applications like voip, am and mcu. This is done at the code level, and public Id level. Update the server docs to describe the adviseontermination, connection with no id, and whoami commands. Modified: sofaswitch/trunk/am/main.cxx ============================================================================== --- sofaswitch/trunk/am/main.cxx (original) +++ sofaswitch/trunk/am/main.cxx Tue Aug 8 19:07:15 2006 @@ -37,19 +37,19 @@ -PCREATE_PROCESS(SsAmProcess); +PCREATE_PROCESS(AmProcess); /////////////////////////////////////////////////////////////// -SsAmProcess::SsAmProcess() - : PProcess("Derek Smithies Code factory", "SsAm", +AmProcess::AmProcess() + : PProcess("Derek Smithies Code factory", "Am", MAJOR_VERSION, MINOR_VERSION, BUILD_TYPE, BUILD_NUMBER) { } -void SsAmProcess::Main() +void AmProcess::Main() { // Get and parse all of the command line arguments. @@ -115,7 +115,7 @@ ourId = args.GetOptionString("id"); PTRACE(3, "our ID is " << ourId); } else { - ourId = "ssam"; + ourId = "am"; PTRACE(3, "Select a default ID of "<< ourId); } Modified: sofaswitch/trunk/am/main.h ============================================================================== --- sofaswitch/trunk/am/main.h (original) +++ sofaswitch/trunk/am/main.h Tue Aug 8 19:07:15 2006 @@ -24,8 +24,8 @@ * */ -#ifndef _SsAm_MAIN_H -#define _SsAm_MAIN_H +#ifndef _Am_MAIN_H +#define _Am_MAIN_H #include <ptlib.h> @@ -36,13 +36,13 @@ class Manager; /**The class that launches everything */ -class SsAmProcess : public PProcess +class AmProcess : public PProcess { - PCLASSINFO(SsAmProcess, PProcess); + PCLASSINFO(AmProcess, PProcess); public: /**Constructor */ - SsAmProcess(); + AmProcess(); /**The main thread of execution starts here */ void Main(); @@ -51,8 +51,8 @@ Manager * GetManager() { return opal; } /**Catch all which can be used anywhere to access this class */ - static SsAmProcess & Current() - { return (SsAmProcess &)PProcess::Current(); } + static AmProcess & Current() + { return (AmProcess &)PProcess::Current(); } protected: @@ -63,7 +63,7 @@ }; -#endif // _SsAm_MAIN_H +#endif // _Am_MAIN_H // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/am/supervisor.cxx ============================================================================== --- sofaswitch/trunk/am/supervisor.cxx (original) +++ sofaswitch/trunk/am/supervisor.cxx Tue Aug 8 19:07:15 2006 @@ -61,7 +61,7 @@ void Supervisor::OnTermination() { - Manager *mgr = SsAmProcess::Current().GetManager(); + Manager *mgr = AmProcess::Current().GetManager(); mgr->RemoveAllCalls(); PTRACE(3, "Destructor Supervisor thread has ended"); @@ -79,7 +79,7 @@ void Supervisor::ProcessStatusQuery(PStringArray &cmds, PString & sender) { - Manager *mgr = SsAmProcess::Current().GetManager(); + Manager *mgr = AmProcess::Current().GetManager(); PStringStream status; status << PString("Current Status:----------- ") << endl @@ -112,13 +112,13 @@ { SetRemoteController(sender); PTRACE(3, "Supervisor says::End everything now"); - SsAmProcess::Current().GetManager()->EndEverything(); + AmProcess::Current().GetManager()->EndEverything(); PTRACE(3, "Supervisor says::End everything now, and it has been initiated."); } void Supervisor::ProcessRequestNewId(PStringArray &/*cmds*/, PString & sender) { - SsAmProcess::Current().GetManager()->RequestNewId(sender); + AmProcess::Current().GetManager()->RequestNewId(sender); } void Supervisor::SilentlyEndAll() @@ -126,6 +126,6 @@ PTRACE(1, "Silently end all, as this node has lost comms with the server"); PTRACE(3, "Give the other nodes a chance to exit"); sleep(2); - SsAmProcess::Current().GetManager()->EndEverything(); + AmProcess::Current().GetManager()->EndEverything(); } // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/mcu/Makefile ============================================================================== --- sofaswitch/trunk/mcu/Makefile (original) +++ sofaswitch/trunk/mcu/Makefile Tue Aug 8 19:07:15 2006 @@ -32,7 +32,7 @@ # # -PROG = ssmcu +PROG = mcu SOURCES := \ audio.cxx \ Modified: sofaswitch/trunk/mcu/audio.h ============================================================================== --- sofaswitch/trunk/mcu/audio.h (original) +++ sofaswitch/trunk/mcu/audio.h Tue Aug 8 19:07:15 2006 @@ -27,8 +27,8 @@ * */ -#ifndef _SsMcu_AUDIO_H -#define _SsMcu_AUDIO_H +#ifndef _Mcu_AUDIO_H +#define _Mcu_AUDIO_H #ifdef P_USE_PRAGMA #pragma interface @@ -128,4 +128,4 @@ -#endif // _SsMcu_AUDIO_MAIN_H +#endif // _Mcu_AUDIO_MAIN_H Modified: sofaswitch/trunk/mcu/comms.h ============================================================================== --- sofaswitch/trunk/mcu/comms.h (original) +++ sofaswitch/trunk/mcu/comms.h Tue Aug 8 19:07:15 2006 @@ -26,8 +26,8 @@ * */ -#ifndef _SsMcu_COMMS_H -#define _SsMcu_COMMS_H +#ifndef _Mcu_COMMS_H +#define _Mcu_COMMS_H #ifdef P_USE_PRAGMA #pragma interface @@ -221,7 +221,7 @@ Comms *comms; }; -#endif // _SsMcu_COMMS_H +#endif // _Mcu_COMMS_H Modified: sofaswitch/trunk/mcu/conferenceroom.h ============================================================================== --- sofaswitch/trunk/mcu/conferenceroom.h (original) +++ sofaswitch/trunk/mcu/conferenceroom.h Tue Aug 8 19:07:15 2006 @@ -26,8 +26,8 @@ * */ -#ifndef _SsMcu_CONFERENCE_ROOM_H -#define _SsMcu_CONFERENCE_ROOM_H +#ifndef _Mcu_CONFERENCE_ROOM_H +#define _Mcu_CONFERENCE_ROOM_H #include <ptlib.h> @@ -145,7 +145,7 @@ ///////////////////////////////////////////////////////////////////////////// -#endif // _SsMcu_CONFERENCE_ROOM_H +#endif // _Mcu_CONFERENCE_ROOM_H // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/mcu/main.cxx ============================================================================== --- sofaswitch/trunk/mcu/main.cxx (original) +++ sofaswitch/trunk/mcu/main.cxx Tue Aug 8 19:07:15 2006 @@ -40,19 +40,19 @@ -PCREATE_PROCESS(SsMcuProcess); +PCREATE_PROCESS(McuProcess); /////////////////////////////////////////////////////////////// -SsMcuProcess::SsMcuProcess() - : PProcess("Derek Smithies Code factory", "SsMcu", +McuProcess::McuProcess() + : PProcess("Derek Smithies Code factory", "Mcu", MAJOR_VERSION, MINOR_VERSION, BUILD_TYPE, BUILD_NUMBER) { } -void SsMcuProcess::Main() +void McuProcess::Main() { // Get and parse all of the command line arguments. @@ -119,7 +119,7 @@ ourId = args.GetOptionString("id"); PTRACE(3, "our ID is " << ourId); } else { - ourId = "ssmcu"; + ourId = "mcu"; PTRACE(3, "Select a default ID of " << ourId); } Modified: sofaswitch/trunk/mcu/main.h ============================================================================== --- sofaswitch/trunk/mcu/main.h (original) +++ sofaswitch/trunk/mcu/main.h Tue Aug 8 19:07:15 2006 @@ -23,8 +23,8 @@ * */ -#ifndef _SsMcu_MAIN_H -#define _SsMcu_MAIN_H +#ifndef _Mcu_MAIN_H +#define _Mcu_MAIN_H #ifdef P_USE_PRAGMA #pragma interface @@ -39,13 +39,13 @@ class Manager; /**The class that launches everything */ -class SsMcuProcess : public PProcess +class McuProcess : public PProcess { - PCLASSINFO(SsMcuProcess, PProcess); + PCLASSINFO(McuProcess, PProcess); public: /**Constructor */ - SsMcuProcess(); + McuProcess(); /**The main thread of execution starts here */ void Main(); @@ -54,8 +54,8 @@ Manager * GetManager() { return opal; } /**Catch all which can be used anywhere to access this class */ - static SsMcuProcess & Current() - { return (SsMcuProcess &)PProcess::Current(); } + static McuProcess & Current() + { return (McuProcess &)PProcess::Current(); } protected: @@ -66,7 +66,7 @@ }; -#endif // _SsMcu_MAIN_H +#endif // _Mcu_MAIN_H // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/mcu/manager.cxx ============================================================================== --- sofaswitch/trunk/mcu/manager.cxx (original) +++ sofaswitch/trunk/mcu/manager.cxx Tue Aug 8 19:07:15 2006 @@ -270,7 +270,7 @@ PTRACE(3, "ProcessStatusQuery " << cmds); result << endl; - result << "ssmcu:Current Status :------------------" << endl; + result << "mcu:Current Status :------------------" << endl; result << "Comms instance count :" << GetCountComms() << endl; result << "Member instance count :" << GetCountMembers() << endl; result << "Participant instance count:" << GetCountParticipants() << endl; Modified: sofaswitch/trunk/mcu/manager.h ============================================================================== --- sofaswitch/trunk/mcu/manager.h (original) +++ sofaswitch/trunk/mcu/manager.h Tue Aug 8 19:07:15 2006 @@ -25,8 +25,8 @@ * */ -#ifndef _SsMcu_MANAGER_H -#define _SsMcu_MANAGER_H +#ifndef _Mcu_MANAGER_H +#define _Mcu_MANAGER_H #ifdef P_USE_PRAGMA @@ -86,7 +86,7 @@ /**Return the send to address that is stored in this class instance*/ - BOOL GetSendToAddress(const PString &SsMcuToken, PIPSocket::Address & address, PINDEX & portNo); + BOOL GetSendToAddress(const PString &McuToken, PIPSocket::Address & address, PINDEX & portNo); /**Return a reference to the pyython launcher for this program */ LaunchNewId & GetLaunchNewId() { return lid; } @@ -249,7 +249,7 @@ -#endif // _SsMcu_MANAGER_H +#endif // _Mcu_MANAGER_H // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/mcu/member.h ============================================================================== --- sofaswitch/trunk/mcu/member.h (original) +++ sofaswitch/trunk/mcu/member.h Tue Aug 8 19:07:15 2006 @@ -24,8 +24,8 @@ * */ -#ifndef _SsMcu_MEMBER_H -#define _SsMcu_MEMBER_H +#ifndef _Mcu_MEMBER_H +#define _Mcu_MEMBER_H #include <ptlib.h> @@ -259,7 +259,7 @@ }; -#endif // _SsMcu_MEMBER_H +#endif // _Mcu_MEMBER_H // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/mcu/participant.h ============================================================================== --- sofaswitch/trunk/mcu/participant.h (original) +++ sofaswitch/trunk/mcu/participant.h Tue Aug 8 19:07:15 2006 @@ -24,8 +24,8 @@ * */ -#ifndef _SsMcu_Participant_H -#define _SsMcu_Participant_H +#ifndef _Mcu_Participant_H +#define _Mcu_Participant_H #include <ptlib.h> @@ -220,7 +220,7 @@ PString key; }; -#endif // _SsMcu_Participant_H +#endif // _Mcu_Participant_H // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/mcu/supervisor.cxx ============================================================================== --- sofaswitch/trunk/mcu/supervisor.cxx (original) +++ sofaswitch/trunk/mcu/supervisor.cxx Tue Aug 8 19:07:15 2006 @@ -63,7 +63,7 @@ void Supervisor::ProcessStatusQuery(PStringArray &cmds, PString & sender) { PString status; - status = SsMcuProcess::Current().GetManager()->ProcessStatusQuery(cmds); + status = McuProcess::Current().GetManager()->ProcessStatusQuery(cmds); SendThisMessageTo(status, sender); } @@ -83,7 +83,7 @@ { SetRemoteController(sender); PTRACE(3, "Supervisor says::End everything now"); - SsMcuProcess::Current().GetManager()->EndEverything(); + McuProcess::Current().GetManager()->EndEverything(); } @@ -107,7 +107,7 @@ return; } - SsMcuProcess::Current().GetManager()->RequestNewId(sender, cmds); + McuProcess::Current().GetManager()->RequestNewId(sender, cmds); } void Supervisor::SilentlyEndAll() @@ -115,6 +115,6 @@ PTRACE(1, "Silently end all, as this node has lost comms with the server"); PTRACE(3, "Give the other nodes a chance to exit"); sleep(2); - SsMcuProcess::Current().GetManager()->EndEverything(); + McuProcess::Current().GetManager()->EndEverything(); } // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/mcu/supervisor.h ============================================================================== --- sofaswitch/trunk/mcu/supervisor.h (original) +++ sofaswitch/trunk/mcu/supervisor.h Tue Aug 8 19:07:15 2006 @@ -27,8 +27,8 @@ * */ -#ifndef _SsMcu_SUPERVISOR_H -#define _SsMcu_SUPERVISOR_H +#ifndef _Mcu_SUPERVISOR_H +#define _Mcu_SUPERVISOR_H #ifdef P_USE_PRAGMA #pragma interface @@ -106,7 +106,7 @@ }; -#endif // _SsMcu_SUPERVISOR_H +#endif // _Mcu_SUPERVISOR_H Modified: sofaswitch/trunk/mcu/version.h ============================================================================== --- sofaswitch/trunk/mcu/version.h (original) +++ sofaswitch/trunk/mcu/version.h Tue Aug 8 19:07:15 2006 @@ -23,8 +23,8 @@ * */ -#ifndef _SsMcu_VERSION_H -#define _SsMcu_VERSION_H +#ifndef _Mcu_VERSION_H +#define _Mcu_VERSION_H #define MAJOR_VERSION 1 #define MINOR_VERSION 0 @@ -32,7 +32,7 @@ #define BUILD_NUMBER 0 -#endif // _SsMcu_VERSION_H +#endif // _Mcu_VERSION_H // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/message.cxx ============================================================================== --- sofaswitch/trunk/message.cxx (original) +++ sofaswitch/trunk/message.cxx Tue Aug 8 19:07:15 2006 @@ -32,10 +32,11 @@ Worker/Supervisor has one TCP connection to the server, for sending/receiving messages relevant to/from the server. -We are opposed to "micro management". Thus, a Supervisor is not -required to worry about the details of any one voice circuit. In fact, -the only contact a Supervisor will have with any one voice circuit is -to create the Worker to handle that voice circuit. +We are opposed to "micro management". Thus, a Supervisor is not required to +worry about the details of any one voice circuit. In fact, the only control a +Supervisor will have over any voice circuit is to create the Worker to handle +that voice circuit. Note however that the Supervisor will be able to report +the status of individual workers/voice circuits. Similarily, when two Workers have to arrange the transfer of audio data between themselves, it is none of the Controller's business. The @@ -66,12 +67,18 @@ TCPConnection class has been added to the internal list, full bidirectional comms is now possible with node "switch". +In some cases, the connecting node has no idea what unique ID to specify. It +will (in this case) use the string "?" and let the server assign a unique ID. +The connecting node can then use the command "whoami" to enquire of the server +to find out what unique ID was assigned. + + The server assumes all remote nodes will correctly choose a valid unique ID. My preference is that the supervisor connects with a -label such as "controller", "ssvoip", or "ssam". Workers spawned by +label such as "controller", "voip", or "am". Workers spawned by that supervisor have a number appended to the supervisor's -label. Thus, the voip supervisor connects as "ssvoip". All workers -spawned by the voip supervisor will be called "ssvoip1", "ssvoip2", +label. Thus, the voip supervisor connects as "voip". All workers +spawned by the voip supervisor will be called "voip1", "voip2", etc. This naming scheme makes debugging somewhat easier, as you can identify, from the label, the origin/destination of a message. @@ -193,6 +200,16 @@ similar to the notion of presence as used in XMPP, except that here, presence is driven by the client. </td></tr> +<tr><td> whoami </td><td> A request to the server to advise us who we + are. This command is useful when we are some controller who + has connected to the server and asked the server to generate + a unique Id for us. It is also a debugging tool from the command + prompt case - we can enquire of the server to check our ID. +</td></tr> +<tr><td>adviseontermination remNode</td></td>This commands the server to (on this node + terminating) send a message to the specified node (remNode). The message + will advise remNode that this this node has died. +</td></tr> </table> </center> @@ -200,25 +217,25 @@ Below is the sequence of three messages, as sent by worker nodes, to setup the transfer of audio beteen the worker nodes of voip41 (voice -over ip worker) and ssam3 (answering machine worker). Note that +over ip worker) and am3 (answering machine worker). Note that controller10 is a worker node in the controller, and is responsible for handling one call. <center> <table> -<tr><td> controller10 </td><td> sends </td><td> voip41: transferudp ssam3 </td><td>(worker to worker)</td></tr> -<tr><td> voip41 </td><td> sends </td><td> ssam3: 192.168.1.109:62054 </td><td>(worker to worker)</td></tr> -<tr><td> ssam3 </td><td> sends </td><td> voip41: 192.168.1.54: 45021 done</td><td>(worker to worker)</td></tr> +<tr><td> controller10 </td><td> sends </td><td> voip41: transferudp am3 </td><td>(worker to worker)</td></tr> +<tr><td> voip41 </td><td> sends </td><td> am3: 192.168.1.109:62054 </td><td>(worker to worker)</td></tr> +<tr><td> am3 </td><td> sends </td><td> voip41: 192.168.1.54: 45021 done</td><td>(worker to worker)</td></tr> </table> </center> -The controller10 tells voip41 that it has to send audio to the ssam3 +The controller10 tells voip41 that it has to send audio to the am3 node. Once the controller has sent this message, the controller has no further news on if anything has happened. voip41 receives the -transferudp message and advises ssam3 of an ip/port address. This -second message in the transfer advises ssam3 of where to send audio -data to. ssam3, on receipt of message 2, can start sending audio to -the address specified in message 2. ssam3 then advises voip41 of the +transferudp message and advises am3 of an ip/port address. This +second message in the transfer advises am3 of where to send audio +data to. am3, on receipt of message 2, can start sending audio to +the address specified in message 2. am3 then advises voip41 of the address that voip41 should send audio to. When voip41 receives message 3, voip41 can start sending audio to 192.168.1.54:45021. On receipt of message 3, voip 41 will send no more messages, as message 3 contains @@ -231,9 +248,9 @@ <center> <table> -<tr><td> voip41</td><td> receives </td><td> controller10: transferudp ssam3 </td><td> (worker to worker)</td></tr> -<tr><td> ssam3 </td><td> receives </td><td> voip41: 192.168.1.109:62054 </td><td> (worker to worker)</td></tr> -<tr><td> voip41</td><td> receives </td><td> ssam3: 192.168.1.54:45021 done </td><td> (worker to worker)</td></tr> +<tr><td> voip41</td><td> receives </td><td> controller10: transferudp am3 </td><td> (worker to worker)</td></tr> +<tr><td> am3 </td><td> receives </td><td> voip41: 192.168.1.109:62054 </td><td> (worker to worker)</td></tr> +<tr><td> voip41</td><td> receives </td><td> am3: 192.168.1.54:45021 done </td><td> (worker to worker)</td></tr> </table> </center> @@ -252,7 +269,7 @@ <center> <table> <tr><td> controller10 </td><td> sends </td><td> voip:requestnewid </td><td>(worker to supervisor) </td></tr> -<tr><td> voip </td><td> sends </td><td> controller10:requestnewid voip20 </td><td>(worker to worker) </td></tr> +<tr><td> voip </td><td> sends </td><td> controller10:requestnewid voip20 </td><td>(worker to worker) </td></tr> </table> </center> @@ -269,10 +286,10 @@ <center> <table> -<tr><td> controller10 </td> <td>sends</td> <td> voip:requestnewid </td><td> (worker to supervisor) </td></tr> -<tr><td> voip </td> </td> <td>sends</td> <td> controller10:requestnewid voip20 </td><td> (worker to worker) </td></tr> -<tr><td> controller10 </td> <td>sends</td> <td> voip20:callnode h323:h323.voxgratia.org</td><td> (worker to worker)</td></tr> -<tr><td> voip20 </td> <td>sends</td> <td> controller10: callestablished voip20 </td><td> (worker to worker)</td></tr> +<tr><td> controller10 </td> <td>sends</td> <td> voip:requestnewid </td><td> (worker to supervisor) </td></tr> +<tr><td> voip </td> </td> <td>sends</td> <td> controller10:requestnewid voip20 </td><td> (worker to worker) </td></tr> +<tr><td> controller10 </td> <td>sends</td> <td> voip20:callnode h323:h323.voxgratia.org</td><td> (worker to worker) </td></tr> +<tr><td> voip20 </td> <td>sends</td> <td> controller10: callestablished voip20 </td><td> (worker to worker) </td></tr> </table> </center> @@ -297,14 +314,14 @@ </center> Once the controller know who the worker nodes are, it can start the transferudp -sequence. However if the voip worker and ssam worker complete the transferudp +sequence. However if the voip worker and am worker complete the transferudp sequence before the call is established (from the voip perspective), and the -controller then tells the ssam worker the announcement file, the very first +controller then tells the am worker the announcement file, the very first part of the announcement file will not be heard by the remote voip node. Consequently, -the ssam announcement file should be set after the call is established. The ssam -received message file can be set at any time. Although, setting the ssam announcement +the am announcement file should be set after the call is established. The am +received message file can be set at any time. Although, setting the am announcement file too late will mean that the first part of the incoming voice call will be missed. \section secExampleOutgoingCall Example of creating outgoing voip call. @@ -313,7 +330,7 @@ In this example, the box at 192.168.1.100 is being asked to call the node at box 192.168.1.200. The answering machine resides at address 192.168.1.2. -The box at 192.168.1.100 has registered with the controller under the basename of ssvoip_send, +The box at 192.168.1.100 has registered with the controller under the basename of voip_send, as it is responsible for initiating calls with remote computers. Notice that in \ref secExampleIncomingCall and \ref secExampleOutgoingCall @@ -322,26 +339,26 @@ we could have placed the incoming and outgoing ends of the call on the same sofaswitch voip application. -In this example, ssvoip_send1 reported to the contrcontroller2 let the call +In this example, voip_send1 reported to the contrcontroller2 let the call run for 5 seconds, and then sent a hangup message to the two worker nodes managed by controller2. <center> <table> -<tr><th> send time</th><th> sent by </th><th> message </th></tr> -<tr><td> 0:31.493 </td><td> controller1 </td><td> ssvoip_send:REQUESTNEWID </td></tr> -<tr><td> 0:31.494 </td><td> controller1 </td><td> ssam:REQUESTNEWID </td></tr> -<tr><td> 0:31.494 </td><td> ssvoip_send </td><td> controller1:REQUESTNEWID ssvoip_send1 </td></tr> -<tr><td> 0:31.495 </td><td> ssam </td><td> controller1:REQUESTNEWID ssam1 </td></tr> -<tr><td> 0:31.586 </td><td> controller1 </td><td> ssvoip_send1:callnode h323:192.168.1.200 </td></tr> -<tr><td> 0:31.586 </td><td> controller1 </td><td> ssam1:setannouncementfile sample_message.wav </td></tr> -<tr><td> 0:31.626 </td><td> controller1 </td><td> ssam1:setreceivedmsgfile recorded_ssam1.wav </td></tr> -<tr><td> 0:31.990 </td><td> ssvoip_send1 </td><td> controller1:CallEstablished ssvoip_send1 </td></tr> -<tr><td> 0:31.991 </td><td> controller1 </td><td> ssvoip_send1:transferudp ssam1 </td></tr> -<tr><td> 0:31.992 </td><td> ssvoip_send1 </td><td> ssam1:transferudp ssam1 192.168.1.100:60000 </td></tr> -<tr><td> 0:31.999 </td><td> ssam1 </td><td> ssvoip_send1:transferudp ssam1 192.168.1.2:64000 done</td></tr> -<tr><td> 0:37.017 </td><td> ssvoip_send1 </td><td> controller1:Terminating </td></tr> -<tr><td> 0:37.017 </td><td> controller1 </td><td> ssam1:hangup </td></tr> -<tr><td> 0:37.018 </td><td> ssam1 </td><td> controller1:Terminating </td></tr> +<tr><th> send time</th><th> sent by </th><th> message </th></tr> +<tr><td> 0:31.493 </td><td> controller1 </td><td> voip_send:REQUESTNEWID </td></tr> +<tr><td> 0:31.494 </td><td> controller1 </td><td> am:REQUESTNEWID </td></tr> +<tr><td> 0:31.494 </td><td> voip_send </td><td> controller1:REQUESTNEWID voip_send1 </td></tr> +<tr><td> 0:31.495 </td><td> am </td><td> controller1:REQUESTNEWID am1 </td></tr> +<tr><td> 0:31.586 </td><td> controller1 </td><td> voip_send1:callnode h323:192.168.1.200 </td></tr> +<tr><td> 0:31.586 </td><td> controller1 </td><td> am1:setannouncementfile sample_message.wav </td></tr> +<tr><td> 0:31.626 </td><td> controller1 </td><td> am1:setreceivedmsgfile recorded_am1.wav </td></tr> +<tr><td> 0:31.990 </td><td> voip_send1 </td><td> controller1:CallEstablished voip_send1 </td></tr> +<tr><td> 0:31.991 </td><td> controller1 </td><td> voip_send1:transferudp am1 </td></tr> +<tr><td> 0:31.992 </td><td> voip_send1 </td><td> am1:transferudp am1 192.168.1.100:60000 </td></tr> +<tr><td> 0:31.999 </td><td> am1 </td><td> voip_send1:transferudp am1 192.168.1.2:64000 done </td></tr> +<tr><td> 0:37.017 </td><td> voip_send1 </td><td> controller1:Terminating </td></tr> +<tr><td> 0:37.017 </td><td> controller1 </td><td> am1:hangup </td></tr> +<tr><td> 0:37.018 </td><td> am1 </td><td> controller1:Terminating </td></tr> </table> </center> @@ -350,7 +367,7 @@ an incoming call from the node at box 192.168.1.100. The answering machine resides at address 192.168.1.2. The box at 192.168.1.100 has registered with the controller under the basename -of ssvoip_rec, as it is responsible for processing incoming voip calls. +of voip_rec, as it is responsible for processing incoming voip calls. Notice that in \ref secExampleIncomingCall and \ref secExampleOutgoingCall we have shown "both ends" of the voip call.Incoming, and outgoing. One @@ -363,22 +380,22 @@ <center> <table> -<tr><th> send time</th><th> sent by </th><th> message </th></tr> -<tr><td> 0:31.871 </td><td> ssvoip_rec2 </td><td> controller:QueryAcceptIncoming derek [192.168.1.100] </td></tr> -<tr><td> 0:31.874 </td><td> controller2 </td><td> ssam:REQUESTNEWID </td></tr> -<tr><td> 0:31.875 </td><td> ssam </td><td> controller2:REQUESTNEWID ssam2 </td></tr> -<tr><td> 0:31.966 </td><td> controller2 </td><td> ssvoip_rec2:answer true </td></tr> -<tr><td> 0:31.966 </td><td> controller2 </td><td> ssam2:setannouncementfile sample_message.wav </td></tr> -<tr><td> 0:31.984 </td><td> ssvoip_rec2 </td><td> controller2:CallEstablished ssvoip_rec2 </td></tr> -<tr><td> 0:31.984 </td><td> controller2 </td><td> ssam2:setreceivedmsgfile recorded_ssam2.wav </td></tr> -<tr><td> 0:31.984 </td><td> controller2 </td><td> ssvoip_rec2:transferudp ssam2 </td></tr> -<tr><td> 0:32.049 </td><td> ssvoip_rec2 </td><td> controller2:CallEstablished ssvoip_rec2 </td></tr> -<tr><td> 0:32.049 </td><td> ssvoip_rec2 </td><td> ssam2:transferudp ssam2 192.168.1.200:60001 </td></tr> -<tr><td> 0:32.050 </td><td> ssam2 </td><td> ssvoip_rec2:transferudp ssam2 192.168.1.2:64001 done </td></tr> -<tr><td> 0:36.966 </td><td> controller2 </td><td> ssvoip_rec2:hangup </td></tr> -<tr><td> 0:36.966 </td><td> controller2 </td><td> ssam2:hangup </td></tr> -<tr><td> 0:36.967 </td><td> ssvoip_rec2 </td><td> controller2:Terminating </td></tr> -<tr><td> 0:36.967 </td><td> ssam2 </td><td> controller2:Terminating </td></tr> +<tr><th> send time</th><th> sent by </th><th> message </th></tr> +<tr><td> 0:31.871 </td><td> voip_rec2 </td><td> controller:QueryAcceptIncoming derek [192.168.1.100] </td></tr> +<tr><td> 0:31.874 </td><td> controller2 </td><td> am:REQUESTNEWID </td></tr> +<tr><td> 0:31.875 </td><td> am </td><td> controller2:REQUESTNEWID am2 </td></tr> +<tr><td> 0:31.966 </td><td> controller2 </td><td> voip_rec2:answer true </td></tr> +<tr><td> 0:31.966 </td><td> controller2 </td><td> am2:setannouncementfile sample_message.wav </td></tr> +<tr><td> 0:31.984 </td><td> voip_rec2 </td><td> controller2:CallEstablished voip_rec2 </td></tr> +<tr><td> 0:31.984 </td><td> controller2 </td><td> am2:setreceivedmsgfile recorded_am2.wav </td></tr> +<tr><td> 0:31.984 </td><td> controller2 </td><td> voip_rec2:transferudp am2 </td></tr> +<tr><td> 0:32.049 </td><td> voip_rec2 </td><td> controller2:CallEstablished voip_rec2 </td></tr> +<tr><td> 0:32.049 </td><td> voip_rec2 </td><td> am2:transferudp am2 192.168.1.200:60001 </td></tr> +<tr><td> 0:32.050 </td><td> am2 </td><td> voip_rec2:transferudp am2 192.168.1.2:64001 done </td></tr> +<tr><td> 0:36.966 </td><td> controller2 </td><td> voip_rec2:hangup </td></tr> +<tr><td> 0:36.966 </td><td> controller2 </td><td> am2:hangup </td></tr> +<tr><td> 0:36.967 </td><td> voip_rec2 </td><td> controller2:Terminating </td></tr> +<tr><td> 0:36.967 </td><td> am2 </td><td> controller2:Terminating </td></tr> </table> </center> Modified: sofaswitch/trunk/sofa/include/sofa/messages.h ============================================================================== --- sofaswitch/trunk/sofa/include/sofa/messages.h (original) +++ sofaswitch/trunk/sofa/include/sofa/messages.h Tue Aug 8 19:07:15 2006 @@ -382,11 +382,11 @@ PString GetServer() { return remoteServer; } protected: - /**The id to use as a base for all further ID's - eg beta/ssvoip */ + /**The id to use as a base for all further ID's - eg beta/voip */ PString ourBaseId; /**The Id of this particular node, to register with the server as. - a valid ourNodeId would be ssvoip. */ + a valid ourNodeId would be voip (for a voip node). */ PString ourNodeId; /**The password to use for all logins to the remote message server */ Modified: sofaswitch/trunk/sofa/src/messages.cxx ============================================================================== --- sofaswitch/trunk/sofa/src/messages.cxx (original) +++ sofaswitch/trunk/sofa/src/messages.cxx Tue Aug 8 19:07:15 2006 @@ -900,7 +900,7 @@ message << "AdviseOnTermination " << rc; PBYTEArray binary; binary.SetSize(message.GetSize()); - memcpy(binary.GetPointer(), message.(), message.GetLength()); + memcpy(binary.GetPointer(), message.GetPointer(), message.GetLength()); binary[message.GetLength()] = 0; writeMessageLock.Wait(); Modified: sofaswitch/trunk/sound/audio.h ============================================================================== --- sofaswitch/trunk/sound/audio.h (original) +++ sofaswitch/trunk/sound/audio.h Tue Aug 8 19:07:15 2006 @@ -18,6 +18,7 @@ #define _AUDIO_H #include <ptlib/sockets.h> +#include <ptlib/sound.h> ///////////////////////////////////////////////////////////////////////////// /**The base class for reading and writing audio from/to the sound Modified: sofaswitch/trunk/sound/comms.h ============================================================================== --- sofaswitch/trunk/sound/comms.h (original) +++ sofaswitch/trunk/sound/comms.h Tue Aug 8 19:07:15 2006 @@ -33,6 +33,7 @@ #include <ptlib.h> +#include <ptlib/sound.h> #include <sofa/messages.h> class JOCall; Modified: sofaswitch/trunk/started.cxx ============================================================================== --- sofaswitch/trunk/started.cxx (original) +++ sofaswitch/trunk/started.cxx Tue Aug 8 19:07:15 2006 @@ -203,10 +203,10 @@ Once the server is running, start the answering machine with \code -./ob_linux_x86_r/ssam -s machine_running_server +./ob_linux_x86_r/am -s machine_running_server \endcode -For the test script to work, we expect that ssam is launched from a directory +For the test script to work, we expect that am is launched from a directory containing a 16bit, 8khz sound file, called "sample_message.wav" In the controller directory, there is a python script that will connect the audio @@ -219,16 +219,16 @@ The server reports the following messages. \code -controller : ssam:REQUESTNEWID - ssam : controller:REQUESTNEWID ssam1 -controller : ssam1:transferudp sound - ssam1 : controller:OutgoingCall ssam1 - ssam1 : sound:transferudp sound 10.0.0.5:64000 - sound : ssam1:transferudp sound 10.0.0.5:61000 done -controller : ssam1:setannouncementfile sample_message.wav -controller : ssam1:setreceivedmsgfile derek.wav -controller : ssam1:hangup - ssam1 : controller:Terminating +controller : am:REQUESTNEWID + am : controller:REQUESTNEWID am1 +controller : am1:transferudp sound + am1 : controller:OutgoingCall am1 + am1 : sound:transferudp sound 10.0.0.5:64000 + sound : am1:transferudp sound 10.0.0.5:61000 done +controller : am1:setannouncementfile sample_message.wav +controller : am1:setreceivedmsgfile derek.wav +controller : am1:hangup + am1 : controller:Terminating \endcode The messages are in four groups. @@ -236,7 +236,7 @@ The answering machine supervisor sends a message back to the controller, advising the controller of the new identity. -\li The controller tells the new identy (ssam1) to connect audio streams with the "sound" +\li The controller tells the new identy (am1) to connect audio streams with the "sound" identity. Notice that the controller is not aware of the address used to transfer audio. \li The controller tells the answering machine identity to play audio from the file @@ -245,23 +245,23 @@ \li Advisement notices (call setup, call terminating) As before, this simple test can be extended by running the "client.py" python script file described above. -You can enquire of the answering machine for status information (command "ssam:status full") and you +You can enquire of the answering machine for status information (command "am:status full") and you will see what is available. The answerine machine will reply back \code -ssam:status full -ssam:Current Status:----------- +am:status full +am:Current Status:----------- Comms instance count 61 50 11 Consumer instance count 50 50 0 pre, active & dead calls 0 1 0 Current active nodes: - ssam51 + am51 \endcode These figures are designed to provide some diagnostic information about what is going on. There main purpose is tell you the counts of constructed/allocated class instances, and therefore provide some guide as to if the system is leaking memory. -There are 11 Comms instances currently availble. One is used in an active call (ssam51), and the +There are 11 Comms instances currently availble. One is used in an active call (am51), and the remaining 10 have connected to the message server. These remaining 10 are therefore ready for immediate use, should they be requested by the controller. @@ -288,18 +288,18 @@ current nodes controller sound - ssam - ssam51 - ssam52 - ssam53 - ssam54 - ssam55 - ssam56 - ssam57 - ssam58 - ssam59 - ssam60 - ssam61 + am + am51 + am52 + am53 + am54 + am55 + am56 + am57 + am58 + am59 + am60 + am61 test \endcode @@ -312,11 +312,11 @@ The list contains 15 nodes, which is correct. "Controller" is there, who is running the "testsound.py" script file. "sound" is there, who is -managing the sound card, and is an endpoint for the test. "ssam" is +managing the sound card, and is an endpoint for the test. "am" is there, who is the supervisor of the answering machine. "test" is there, which is the identity of the node from the "client.py" python script. -"ssam51" is there, who is the current active answering machine node. -Nodes "ssam52..ssam61" are the nodes ssam has prebuilt, which are ready for use. +"am51" is there, who is the current active answering machine node. +Nodes "am52..am61" are the nodes am has prebuilt, which are ready for use. \section secTestSoundAmMcu Test sound card, Answering Machine and Conference In this section, we create a more complex example, which consists of one @@ -328,9 +328,9 @@ simply by speaking into the microphone. The conference utility has to be compiled (make both) and invoked. The command -line args are identical to ssam. +line args are identical to am. \code -./ob_linux_x86_r/ssmcu -s machine_running_server +./ob_linux_x86_r/mcu -s machine_running_server \endcode The script "testmcu3.py" has to be invoked. This will add a member to the @@ -343,10 +343,10 @@ has been started, and is waiting for the user to terminate it. Please do not terminate this script. This script has created a conference room with one member. -In the "client.py" window, we type "ssmcu:status", to get the status of the mcu as a whole. +In the "client.py" window, we type "mcu:status", to get the status of the mcu as a whole. \code -ssmcu:status -ssmcu:ssmcu:Current Status :------------------ +mcu:status +mcu:mcu:Current Status :------------------ Comms instance count : 12 1 11 Member instance count : 2 1 1 Participant instance count: 2 2 0 @@ -368,11 +368,11 @@ is essential N squared, because every member has links to every other member in each cnference room. -Additional information can be obtained with the command "ssmcu:status room", +Additional information can be obtained with the command "mcu:status room", to get information about the activities in room. This command reports: \code -ssmcu:status room -ssmcu:ssmcu:Current Status :------------------ +mcu:status room +mcu:mcu:Current Status :------------------ Comms instance count : 12 1 11 Member instance count : 2 1 1 Participant instance count: 2 2 0 @@ -380,13 +380,13 @@ room:room members:1 Available members is 1 - member ssmcu2 + member mcu2 Participants in Conference room "room" are:: - -ssmcu2 + -mcu2 Duration Info - -ssmcu2 19:14.462 mins:secs.msecs + -mcu2 19:14.462 mins:secs.msecs \endcode See? It has told us that in conference room "room" the names of the available members, @@ -441,14 +441,14 @@ \li The dotted lines with arrows indicate audio flow \li The dotted thick lines (no arrows) indicate a flow of control signals. \li Note that all control signals go via the server. -\li We have shown the ssmcu as containing one conference room (denoted by the hexagon and word "room"). - However, ssmcu could manage multiple conference rooms. -\li There are three entities in the conference room, ssmcu1, ssmcu2 and ssmcu3. -\li The conference room "room" was created by ssmcu by the command, "ssmcu:REQUESTNEWID room". The - next time this command was sent to ssmcu, a new node was created (ssmcu2) and then placed in +\li We have shown the mcu as containing one conference room (denoted by the hexagon and word "room"). + However, mcu could manage multiple conference rooms. +\li There are three entities in the conference room, mcu1, mcu2 and mcu3. +\li The conference room "room" was created by mcu by the command, "mcu:REQUESTNEWID room". The + next time this command was sent to mcu, a new node was created (mcu2) and then placed in the specified conference room. -\li The entities 'ssam', 'ssmcu', and 'controller' are supervisor style nodes. -\li The entities 'ssam1', 'ssam2', 'ssmcu1', 'ssmcu2' are worker nodes. +\li The entities 'am', 'mcu', and 'controller' are supervisor style nodes. +\li The entities 'am1', 'am2', 'mcu1', 'mcu2' are worker nodes. \li The sound program is designed to work with just one card. Consequently, it made little sense to put in a Supervisor/Worker feature. From a code perspective, sound is wrong. One day, I will add a supervisor to sound. @@ -468,7 +468,7 @@ defaults to localhost. \li -i will specify the id this utility uses when connecting to the message server. Each utility has its own default id. For example, the - voip executable has an id of "ssvoip" + voip executable has an id of "voip" \li -v report program version info. */ Modified: sofaswitch/trunk/voip/Makefile ============================================================================== --- sofaswitch/trunk/voip/Makefile (original) +++ sofaswitch/trunk/voip/Makefile Tue Aug 8 19:07:15 2006 @@ -28,7 +28,7 @@ # # -PROG = ssvoip +PROG = voip SOURCES := \ comms.cxx \ Modified: sofaswitch/trunk/voip/docs.cfg ============================================================================== --- sofaswitch/trunk/voip/docs.cfg (original) +++ sofaswitch/trunk/voip/docs.cfg Tue Aug 8 19:07:15 2006 @@ -3,7 +3,7 @@ #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -PROJECT_NAME = "SSVoip, which is Sofa Switch Voip" +PROJECT_NAME = "Voip, which does voip in the Sofa Switch utilities" PROJECT_NUMBER = OUTPUT_DIRECTORY = #CREATE_SUBDIRS = NO Modified: sofaswitch/trunk/voip/main.cxx ============================================================================== --- sofaswitch/trunk/voip/main.cxx (original) +++ sofaswitch/trunk/voip/main.cxx Tue Aug 8 19:07:15 2006 @@ -65,19 +65,19 @@ -PCREATE_PROCESS(SsVoipProcess); +PCREATE_PROCESS(VoipProcess); /////////////////////////////////////////////////////////////// -SsVoipProcess::SsVoipProcess() - : PProcess("Open Phone Abstraction Library", "SsVoip", +VoipProcess::VoipProcess() + : PProcess("Open Phone Abstraction Library", "Voip", MAJOR_VERSION, MINOR_VERSION, BUILD_TYPE, BUILD_NUMBER) { } -void SsVoipProcess::Main() +void VoipProcess::Main() { cout << GetName() << " Version " << GetVersion(TRUE) @@ -262,7 +262,7 @@ ourId = args.GetOptionString("id"); PTRACE(3, "our ID is " << ourId); } else { - ourId = "ssvoip"; + ourId = "voip"; PTRACE(3, "Select a default ID of " << ourId); } @@ -273,7 +273,7 @@ ourPassword = args.GetOptionString("password"); PTRACE(3, "our password is " << ourPassword); } else { - ourPassword = "ssvoip"; + ourPassword = "voip"; PTRACE(3, "Select a default password of " << ourPassword); } Modified: sofaswitch/trunk/voip/main.h ============================================================================== --- sofaswitch/trunk/voip/main.h (original) +++ sofaswitch/trunk/voip/main.h Tue Aug 8 19:07:15 2006 @@ -27,8 +27,8 @@ * */ -#ifndef _SsVoip_MAIN_H -#define _SsVoip_MAIN_H +#ifndef _Voip_MAIN_H +#define _Voip_MAIN_H #include <ptlib.h> @@ -44,13 +44,13 @@ class MyManager; /**The class that launches everything */ -class SsVoipProcess : public PProcess +class VoipProcess : public PProcess { - PCLASSINFO(SsVoipProcess, PProcess); + PCLASSINFO(VoipProcess, PProcess); public: /**Constructor */ - SsVoipProcess(); + VoipProcess(); /**The main thread of execution starts here */ void Main(); @@ -59,8 +59,8 @@ MyManager * GetManager() { return opal; } /**Catch all which can be used anywhere to access this class */ - static SsVoipProcess & Current() - { return (SsVoipProcess &)PProcess::Current(); } + static VoipProcess & Current() + { return (VoipProcess &)PProcess::Current(); } protected: @@ -71,7 +71,7 @@ }; -#endif // _SsVoip_MAIN_H +#endif // _Voip_MAIN_H // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/voip/mymanager.h ============================================================================== --- sofaswitch/trunk/voip/mymanager.h (original) +++ sofaswitch/trunk/voip/mymanager.h Tue Aug 8 19:07:15 2006 @@ -28,8 +28,8 @@ * */ -#ifndef _SsVoip_MANAGER_H -#define _SsVoip_MANAGER_H +#ifndef _Voip_MANAGER_H +#define _Voip_MANAGER_H #ifdef P_USE_PRAGMA @@ -270,7 +270,7 @@ -#endif // _SsVoip_MANAGER_H +#endif // _Voip_MANAGER_H // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/voip/overview.cxx ============================================================================== --- sofaswitch/trunk/voip/overview.cxx (original) +++ sofaswitch/trunk/voip/overview.cxx Tue Aug 8 19:07:15 2006 @@ -81,7 +81,7 @@ \li Comms - Does the comms with the remote controller \li MyOpalCall - Descendent of OpalCall -\li SsVoipProcess - The master class, which contains main(int argc, char** argv) +\li VoipProcess - The master class, which contains main(int argc, char** argv) \li MyManager - Does the work of controlling things \li MyUdpSsEndPoint - manages the creation & handling of MyUdpSsConnections \li Supervisor - The comms instance for the manager Modified: sofaswitch/trunk/voip/supervisor.cxx ============================================================================== --- sofaswitch/trunk/voip/supervisor.cxx (original) +++ sofaswitch/trunk/voip/supervisor.cxx Tue Aug 8 19:07:15 2006 @@ -77,13 +77,13 @@ } PString anyCommsId; - SsVoipProcess::Current().GetManager()->StartCall(cmds[1], sender, anyCommsId); + VoipProcess::Current().GetManager()->StartCall(cmds[1], sender, anyCommsId); } void Supervisor::ProcessStatusQuery(PStringArray &cmds, PString & sender) { PString status; - status = SsVoipProcess::Current().GetManager()->GetStatusInfo(); + status = VoipProcess::Current().GetManager()->GetStatusInfo(); SendThisMessageTo(status, sender); } @@ -103,14 +103,14 @@ { SetRemoteController(sender); PTRACE(3, "Supervisor says::End everything now"); - SsVoipProcess::Current().GetManager()->EndEverything(); + VoipProcess::Current().GetManager()->EndEverything(); PTRACE(3, "Supervisor says::End everything now, and it has been initiated."); } void Supervisor::SilentlyEndAll() { PTRACE(3, "Supervisor says::End everything now"); - SsVoipProcess::Current().GetManager()->EndEverything(); + VoipProcess::Current().GetManager()->EndEverything(); } void Supervisor::ProcessHangup(PStringArray &cmds, PString & sender) @@ -121,7 +121,7 @@ void Supervisor::ProcessRequestNewId(PStringArray &/*cmds*/, PString & sender) { - SsVoipProcess::Current().GetManager()->RequestNewId(sender); + VoipProcess::Current().GetManager()->RequestNewId(sender); } // End of File /////////////////////////////////////////////////////////////// Modified: sofaswitch/trunk/voip/version.h ============================================================================== --- sofaswitch/trunk/voip/version.h (original) +++ sofaswitch/trunk/voip/version.h Tue Aug 8 19:07:15 2006 @@ -1,7 +1,7 @@ /* * version.h * - * Version number header file for SSVoip + * Version number header file for Voip * * An application to control voip via messages from a remote node * @@ -35,8 +35,8 @@ * openh323: v1.12.3 CVS tag: */ -#ifndef _SSVoip_VERSION_H -#define _SSVoip_VERSION_H +#ifndef _Voip_VERSION_H +#define _Voip_VERSION_H #define MAJOR_VERSION 1 #define MINOR_VERSION 0 @@ -44,7 +44,7 @@ #define BUILD_NUMBER 0 -#endif // _SSVoip_VERSION_H +#endif // _Voip_VERSION_H // End of File ///////////////////////////////////////////////////////////////