CallManager *CpTestSupport::newCallManager(SipUserAgent* sua) { UtlString localAddress; OsSocket::getHostIp(&localAddress); // Enable PCMU, PCMA, Tones/RFC2833 UtlString codecList("258 257 128"); SdpCodecFactory* pCodecFactory = new SdpCodecFactory(); UtlString oneCodec; pCodecFactory->buildSdpCodecFactory(codecList); CallManager *callManager = new CallManager( FALSE, NULL, TRUE, // early media in 180 ringing pCodecFactory, 9000, //rtp start 9999, //rtp end localAddress.data(), localAddress.data(), sua, 0,//sipSessionReinviteTimer NULL, // mgcpStackTask "*****@*****.**", // defaultCallExtension Connection::RING, // availableBehavior NULL, // unconditionalForwardUrl -1, // forwardOnNoAnswerSeconds NULL, // forwardOnNoAnswerUrl Connection::BUSY, // busyBehavior NULL, // sipForwardOnBusyUrl NULL, // speedNums CallManager::SIP_CALL, // phonesetOutgoingCallProtocol 4, // numDialPlanDigits CallManager::NEAR_END_HOLD, // holdType 5000, // offeringDelay "", // pLocal CP_MAXIMUM_RINGING_EXPIRE_SECONDS, //inviteExpireSeconds QOS_LAYER3_LOW_DELAY_IP_TOS, // expeditedIpTos 10, //maxCalls sipXmediaFactoryFactory(NULL)); //pMediaFactory return callManager; }
void MpTestConfig::initializeCallManager() { UtlString localAddress; OsSocket::getHostIp(&localAddress); // Enable PCMU, PCMA, Tones/RFC2833 UtlString codecList("PCMU PCMA TELEPHONE-EVENT"); SdpCodecList* pCodecList = new SdpCodecList(); UtlString oneCodec; pCodecList->addCodecs(codecList); mCallManager = new CallManager( FALSE, NULL, TRUE, // early media in 180 ringing pCodecList, 9000, // rtp start 9999, // rtp end localAddress.data(), localAddress.data(), mUA, 0, // sipSessionReinviteTimer NULL, // mgcpStackTask "*****@*****.**", // defaultCallExtension Connection::RING, // availableBehavior NULL, // unconditionalForwardUrl -1, // forwardOnNoAnswerSeconds NULL, // forwardOnNoAnswerUrl Connection::BUSY, // busyBehavior NULL, // sipForwardOnBusyUrl NULL, // speedNums CallManager::SIP_CALL, // phonesetOutgoingCallProtocol 4, // numDialPlanDigits CallManager::NEAR_END_HOLD, // holdType 5000, // offeringDelay "", // pLocal CP_MAXIMUM_RINGING_EXPIRE_SECONDS, // inviteExpiresSeconds QOS_LAYER3_LOW_DELAY_IP_TOS, // expeditedIpTos 10, // maxCalls sipXmediaFactoryFactory(NULL), SAMLE_RATE); // CpMediaInterfaceFactory mCallManager->start() ; }
// Constructor CpPhoneMediaInterface::CpPhoneMediaInterface(CpMediaInterfaceFactoryImpl* pFactoryImpl, const char* publicAddress, const char* localAddress, int numCodecs, SdpCodec* sdpCodecArray[], const char* locale, int expeditedIpTos, const char* szStunServer, int iStunKeepAlivePeriodSecs) : CpMediaInterface(pFactoryImpl) { OsSysLog::add(FAC_CP, PRI_DEBUG, "CpPhoneMediaInterface::CpPhoneMediaInterface creating a new CpMediaInterface %p", this); mpFlowGraph = new MpCallFlowGraph(locale); OsSysLog::add(FAC_CP, PRI_DEBUG, "CpPhoneMediaInterface::CpPhoneMediaInterface creating a new MpCallFlowGraph %p", mpFlowGraph); mStunServer = szStunServer ; mStunRefreshPeriodSecs = iStunKeepAlivePeriodSecs ; if(localAddress && *localAddress) { mRtpReceiveHostAddress = localAddress; mLocalAddress = localAddress; } else { OsSocket::getHostIp(&mLocalAddress); } if(sdpCodecArray && numCodecs > 0) { UtlString codecList(""); // Test plausibility of passed in codecs, don't add any that media system // does not support - the media system knows best. for (int i=0; i<numCodecs && sdpCodecArray[i]; i++) { SdpCodec::SdpCodecTypes cType = sdpCodecArray[i]->getCodecType(); switch (cType) { case SdpCodec::SDP_CODEC_TONES: codecList.append("telephone-event "); break; case SdpCodec::SDP_CODEC_GIPS_PCMU: codecList.append("pcmu "); break; case SdpCodec::SDP_CODEC_GIPS_PCMA: codecList.append("pcma "); break; #ifdef HAVE_GIPS case SdpCodec::SDP_CODEC_GIPS_IPCMU: codecList.append("eg711u "); break; case SdpCodec::SDP_CODEC_GIPS_IPCMA: codecList.append("eg711a "); break; #endif /* HAVE_GIPS */ default: OsSysLog::add(FAC_CP, PRI_WARNING, "CpPhoneMediaInterface::CpPhoneMediaInterface dropping codec type %d as not supported", cType); break; } } mSupportedCodecs.buildSdpCodecFactory(codecList); OsSysLog::add(FAC_CP, PRI_DEBUG, "CpPhoneMediaInterface::CpPhoneMediaInterface creating codec factory with %s", codecList.data()); // Assign any unset payload types mSupportedCodecs.bindPayloadTypes(); } else { // Temp hard code codecs //SdpCodec mapCodecs1(SdpCodec::SDP_CODEC_PCMU, SdpCodec::SDP_CODEC_PCMU); //mSupportedCodecs.addCodec(mapCodecs1); //SdpCodec mapCodecs2(SdpCodec::SDP_CODEC_PCMA, SdpCodec::SDP_CODEC_PCMA); //mSupportedCodecs.addCodec(mapCodecs2); //mapCodecs[2] = new SdpCodec(SdpCodec::SDP_CODEC_L16_MONO); UtlString codecs = "PCMU PCMA TELEPHONE-EVENT"; OsSysLog::add(FAC_CP, PRI_WARNING, "CpPhoneMediaInterface::CpPhoneMediaInterface hard-coded codec factory %s ...", codecs.data()); mSupportedCodecs.buildSdpCodecFactory(codecs); } mExpeditedIpTos = expeditedIpTos; }