📄 tclient2.cxx
字号:
/* ==================================================================== * The Vovida Software License, Version 1.0 * * Copyright (c) 2000 Vovida Networks, Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The names "VOCAL", "Vovida Open Communication Application Library", * and "Vovida Open Communication Application Library (VOCAL)" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact vocal@vovida.org. * * 4. Products derived from this software may not be called "VOCAL", nor * may "VOCAL" appear in their name, without prior written * permission of Vovida Networks, Inc. * * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. * * ==================================================================== * * This software consists of voluntary contributions made by Vovida * Networks, Inc. and many individuals on behalf of Vovida Networks, * Inc. For more information on Vovida Networks, Inc., please see * <http://www.vovida.org/>. * */static const char* const tClient2_cxx_Version = "$Id: tClient2.cxx,v 1.11.32.1 2003/01/22 18:07:02 sprajpat Exp $";#include <sys/socket.h>#include <netinet/in.h>#include <unistd.h>#include <stdio.h>#include <arpa/inet.h>#include <string.h>#include <iostream.h>#include <fstream.h>#include <string>#include <algo.h>#include "ProvisionInterface.hxx"#include "VException.hxx"#include "VNetworkException.hxx"#include "VFile.hxx"#include "VFileBrowser.hxx"#include "VEnvVar.hxx"#include "cpLog.h"voiddoQuery(){ // cpLogSetPriority (LOG_DEBUG); try { const char* rSecret = "/usr/local/vocal/etc/vocal.secret"; const char* wSecret = "/usr/local/vocal/etc/vocal.writesecret"; ProvisionInterface& pif = ProvisionInterface::instance("sprajpat-lnx2", 6005, "sprajpat-lnx2", 6005, rSecret, wSecret); vector < Data > retList;/* cerr << "**Get marshal servers:" << endl; pif.getMarshalServers(retData); for(list<string>::iterator itr = retData.begin(); itr != retData.end(); itr++){ cerr << (*itr) << endl;} cerr << "**Get feature servers:" << endl; pif.getFeatureServers(retData); for(list<string>::iterator itr = retData.begin(); itr != retData.end(); itr++){ cerr << (*itr) << endl;} cerr << "**Get redirect servers:" << endl; pif.getRedirectServers(retData); for(list<string>::iterator itr = retData.begin(); itr != retData.end(); itr++){ cerr << (*itr) << endl;} cerr << "**Get Cdr servers:" << endl; pif.getCdrServers(retData); for(list<string>::iterator itr = retData.begin(); itr != retData.end(); itr++){ cerr << (*itr) << endl;} cerr << "**Get Jtapi servers:" << endl; pif.getJtapiServers(retData); for(list<string>::iterator itr = retData.begin(); itr != retData.end(); itr++){ cerr << (*itr) << endl;} */ /* cerr << "-------------------" << endl; cerr << "$$ Redirect" << endl; VRedirectServerData myRedirect; pif.getRedirectData("192.168.26.120:5230", myRedirect); cout << myRedirect << endl; cerr << "$$ Cdr" << endl; VCdrServerData myCdr; pif.getCdrData("192.168.26.230:5073", myCdr); cout << myCdr << endl; cerr << "$$ Feature" << endl; VFeatureServerData myFeature; pif.getFeatureData("192.168.26.110:5070", myFeature); cout << myFeature << endl; cerr << "$$ Marshal" << endl; VMarshalServerData myMarshal; pif.getMarshalData("192.168.26.110:5060", myMarshal); cout << myMarshal << endl; cerr << "$$ Jtapi" << endl; VJtapiServerData myJtapi; pif.getJtapiData("192.168.26.110:5070:5071", myJtapi); cout << myJtapi << endl; */ /* while (1) { cerr << "**Get global data:" << endl; VGlobalConfigData retDataA; pif.getConfigData(retDataA); cerr << retDataA; cerr << "\n\n\n\n" << endl; sleep(5); } */ /* cerr << "-------------------" << endl; vector<VPlanElement> retData0; pif.getDialPlan("defaultPhonePlan.xml", retData0); for(vector<VPlanElement>::iterator itr = retData0.begin(); itr != retData0.end(); itr++){ cerr << (*itr) << endl;} cerr << "-------------------" << endl; cerr << "Get groups" << endl; list<string> daList; cerr << "Jtapi" << endl; pif.getJtapiGroups(daList); for (list<string>::iterator itr4 = daList.begin(); itr4 != daList.end(); itr4++){ cerr << (*itr4) << endl;} cerr << "Marshal" << endl; pif.getMarshalGroups(daList); for (list<string>::iterator itr4 = daList.begin(); itr4 != daList.end(); itr4++){ cerr << (*itr4) << endl;} cerr << "Cdr" << endl; pif.getCdrGroups(daList); for (list<string>::iterator itr4 = daList.begin(); itr4 != daList.end(); itr4++){ cerr << (*itr4) << endl;} cerr << "Feature" << endl; pif.getFeatureGroups(daList); for (list<string>::iterator itr4 = daList.begin(); itr4 != daList.end(); itr4++){ cerr << (*itr4) << endl;} */ /* cerr << "Getting forsip servers" << endl; MapOfServerGroups foo = pif.getMarshalServers(); GroupMap &foo3 = foo[string("SIP")]; list<string> foo2 = foo3[string("forsip")]; for(list<string>::iterator itr = foo2.begin(); itr != foo2.end(); itr++) cout << (*itr) << endl; cerr << "**Get ForwardAllCallsGroup" << endl; vector<Data>fooe; pif.getMarshalServerGroup("mshost:8061", fooe); cout << fooe.size() << endl; for(vector<Data>::iterator itr = fooe.begin(); itr != fooe.end(); itr++) { cerr << (*itr).getData() << endl; } cerr << "*** Getting one server" << endl; VMarshalServerData myMarshall; string marshalname = "192.168.5.15:8061"; pif.getMarshalData(marshalname, myMarshall); cout << myMarshall << endl; cerr << "*** Getting list of servers" << endl; vector<VMarshalServerData> myMarshals; pif.getMarshalServers(myMarshals); for(vector<VMarshalServerData>::iterator itr = myMarshals.begin(); itr != myMarshals.end(); itr++) { cerr << (*itr) << endl; } */ /* cerr << "**2" << endl; vector<VMarshalServerData> retData7; pif.getMarshalServers(retData7); vector<VMarshalServerData>::iterator itr = retData7.begin(); if (itr == NULL) cerr << "NULL!" << endl; cerr << "**3" << endl; for(vector<VMarshalServerData>::iterator itr = retData7.begin(); itr != retData7.end(); itr++){ cerr << (*itr) << endl;} */ /* cerr << "*** " << "Getting Data" << endl; VMarshalServerData vData; cerr << "*** " << endl; pif.getMarshalData("SIP", vData); cerr << "*** " << vData << endl; */#if 1 /* cerr << "**Get feature servers:" << endl; vector<Data> retData4; pif.getFeatureServers(retData4); // MapOfServerGroups foo = pif.getFeatureServers(); cout << retData4.size() << endl; for(vector<Data>::iterator itr = retData4.begin(); itr != retData4.end(); itr++){ cerr << (*itr).getData() << endl;} cerr << "**Get feature servers:" << endl; // vector<Data> retData4; // pif.getFeatureServers(retData4); MapOfServerGroups foo = pif.getFeatureServers(); GroupMap &foo3 = foo[string("ForwardAllCalls")]; list<string> foo2 = foo3[string("ForwardAllCallsGroup")]; for(list<string>::iterator itr = foo2.begin(); itr != foo2.end(); itr++) cout << (*itr) << endl; cerr << "**Get ForwardAllCallsGroup" << endl; vector<Data>fooe; pif.getFeatureServerGroup("192.168.10.30:7062", fooe); cout << fooe.size() << endl; for(vector<Data>::iterator itr = fooe.begin(); itr != fooe.end(); itr++){ cerr << (*itr).getData() << endl;} */ cerr << "**Get marshal servers:" << endl; list<string> retData3; pif.getMarshalServers(retData3); list<string>::iterator itr2 = retData3.begin(); if (itr2 == NULL) cerr << "NULL!" << endl; for(list<string>::iterator itr = retData3.begin(); itr != retData3.end(); itr++){ cerr << (*itr).c_str() << endl;} /* cerr << "**Get Phone dial plan" << endl; vector<VPlanElement> retData5 = pif.getDialPlan("defaultPhonePlan.xml"); for(vector<VPlanElement>::iterator itr = retData5.begin(); itr != retData5.end(); itr++){ cerr << (*itr) << endl;} cerr << "**Get IP dial plan" << endl; vector<VPlanElement> retData6 = pif.getDialPlan("defaultIpPlan.xml"); for(vector<VPlanElement>::iterator itr = retData6.begin(); itr != retData6.end(); itr++){ cerr << (*itr) << endl;} */ string ipaddr = pif.getUserIp("1000"); cerr << "User :" << "1000" << " IP:" << ipaddr << endl;#endif } catch(VException& e) { cerr << "Exception:" << e.getDescription().c_str() << endl; exit(0); }}intmain(int argc, char** argv){ while(1) { doQuery(); sleep(2); } exit(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -