Changeset 106:24f0ac03bdae in mediastreamer2


Ignore:
Timestamp:
Oct 20, 2008 9:05:48 PM (5 years ago)
Author:
jehan <jehan@…>
Branch:
default
Message:

add proxy publisher timer

git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@109 3f6dc0c8-ddfe-455d-9043-3cd528dc4637

Location:
p2pproxy
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • p2pproxy/src/org/linphone/p2pproxy/core/P2pProxyMain.java

    r101 r106  
    174174                                   mConfigurator.setProperty(JxtaNetworkManager.TCP_LISTENING_PUBLIC_ADDRESS,args[i + 1]+":9701"); 
    175175                   mConfigurator.setProperty(RtpRelayService.AUDIO_VIDEO_PUBLIC_URI,"udp://"+args[i + 1]+":"+lMediaPort); 
     176                   mConfigurator.setProperty(SipProxyRegistrar.REGISTRAR_PUBLIC_ADDRESS,args[i + 1]); 
    176177                   System.out.println("public address detected[" + args[i + 1] + "]"); 
    177178                           }             
     
    268269                   } 
    269270 
    270                    //setup account manager 
    271                    mP2pProxyAccountManagement = new P2pProxyAccountManagement(mJxtaNetworkManager); 
     271 
    272272                   //set management 
    273273                   try { 
     
    302302      mP2pProxyManagement = (P2pProxyManagement) mServiceProvider; 
    303303      mP2pProxySipProxyRegistrarManagement = (P2pProxyResourceManagement) mServiceProvider; 
     304           //setup account manager 
     305           mP2pProxyAccountManagement = new P2pProxyAccountManagement(mJxtaNetworkManager); 
    304306      mServiceProvider.start(3000L); 
    305307   } 
     
    312314      mP2pProxySipProxyRegistrarManagement = (P2pProxyResourceManagement) mServiceProvider; 
    313315      mServiceProvider.start(3000L); 
     316           //setup account manager 
     317           mP2pProxyAccountManagement = new P2pProxyAccountManagement(mJxtaNetworkManager); 
    314318//    setup sip provider 
    315319           SipStack.log_path = mConfigHomeDir+"/logs"; 
     
    331335      mP2pProxySipProxyRegistrarManagement = (P2pProxyResourceManagement) mServiceProvider; 
    332336      mServiceProvider.start(3000L); 
    333 //    setup sip provider 
     337           //setup account manager 
     338           mP2pProxyAccountManagement = new P2pProxyAccountManagement(mJxtaNetworkManager); 
     339           //    setup sip provider 
    334340           SipStack.log_path = mConfigHomeDir+"/logs"; 
    335341           mSipAndPipeListener = new SipProxyRegistrar(mConfigurator,mJxtaNetworkManager,mP2pProxyAccountManagement); 
  • p2pproxy/src/org/linphone/p2pproxy/core/sipproxy/SipProxyRegistrar.java

    r92 r106  
    2727import java.util.HashMap; 
    2828import java.util.Map; 
     29import java.util.Timer; 
     30import java.util.TimerTask; 
    2931import java.util.concurrent.Callable; 
    3032import java.util.concurrent.Executors; 
     
    5860   public final static String REGISTRAR_PUBLIC_ADDRESS="org.linphone.p2pproxy.SipListener.registrar.public.address"; 
    5961   public final static String ADV_NAME = "p2p-proxy-proxyregistrar"; 
     62   private final int ADV_LIFE_TIME=60000; 
    6063   // 
    6164   private final SipProvider mProvider; 
     
    6972   private final Configurator mProperties; 
    7073   private final SuperPeerProxy mSuperPeerProxy; 
    71    private final NetworkResourceAdvertisement mProxyRegistrationAdvertisement; 
     74   private  NetworkResourceAdvertisement mProxyRegistrationAdvertisement; 
     75   private final Timer mTimer = new Timer ("Proxy registrar adv publisher"); 
    7276   
    7377   //private long mNumberOfEstablishedCall; 
     
    173177      mPool = Executors.newCachedThreadPool(); 
    174178      mSuperPeerProxy = new SuperPeerProxy(aJxtaNetworkManager, "sip:"+mProvider.getViaAddress()+":"+mProvider.getPort(),mRegistrationTab); 
    175       mProxyRegistrationAdvertisement = (NetworkResourceAdvertisement) AdvertisementFactory.newAdvertisement(NetworkResourceAdvertisement.getAdvertisementType()); 
    176       mProxyRegistrationAdvertisement.setID(IDFactory.newCodatID(mJxtaNetworkManager.getPeerGroup().getPeerGroupID(), mSuperPeerProxy.getSipProxyRegistrarAddress().toString().getBytes())); 
    177       mProxyRegistrationAdvertisement.setAddress(mSuperPeerProxy.getSipProxyRegistrarAddress()); 
    178       mProxyRegistrationAdvertisement.setName(ADV_NAME); 
    179       mJxtaNetworkManager.getPeerGroup().getDiscoveryService().publish(mProxyRegistrationAdvertisement,60000,30000); 
    180       mLog.info(mProxyRegistrationAdvertisement + "published"); 
     179      TimerTask lPublisherTask = new TimerTask() { 
     180 
     181                @Override 
     182                public void run() { 
     183                        try { 
     184                                SipProxyRegistrar.this.publishAdvertisement(); 
     185                        } catch (IOException e) { 
     186                                mLog.error("cannot publish proxy registar adv", e); 
     187                        } 
     188                         
     189                } 
     190           
     191      }; 
     192      mTimer.scheduleAtFixedRate(lPublisherTask, 0, ADV_LIFE_TIME-ADV_LIFE_TIME/10); 
     193       
    181194   } 
    182195   public  void onReceivedMessage(SipProvider aProvider, Message aMessage) { 
     
    356369      return mNumberOfUnRegistration; 
    357370   } 
     371   private void publishAdvertisement() throws IOException { 
     372           if (mProxyRegistrationAdvertisement == null) {    
     373           mProxyRegistrationAdvertisement = (NetworkResourceAdvertisement) AdvertisementFactory.newAdvertisement(NetworkResourceAdvertisement.getAdvertisementType()); 
     374              mProxyRegistrationAdvertisement.setID(IDFactory.newCodatID(mJxtaNetworkManager.getPeerGroup().getPeerGroupID(), mSuperPeerProxy.getSipProxyRegistrarAddress().toString().getBytes())); 
     375              mProxyRegistrationAdvertisement.setAddress(mSuperPeerProxy.getSipProxyRegistrarAddress()); 
     376              mProxyRegistrationAdvertisement.setName(ADV_NAME); 
     377           } 
     378           mJxtaNetworkManager.getPeerGroup().getDiscoveryService().publish(mProxyRegistrationAdvertisement,ADV_LIFE_TIME,ADV_LIFE_TIME/2);         
     379           mLog.info(mProxyRegistrationAdvertisement + "published"); 
     380   } 
    358381} 
  • p2pproxy/test-src/org/linphone/p2pproxy/test/utils/UserInstance.java

    r101 r106  
    7878        mProvider=new SipProvider(null,lSipPort); 
    7979        mSipClient = new SipClient(mProvider,userName,30000); 
    80         final TimerTask lTimerTask = new  TimerTask() { 
     80         class RegistrarTimerTask extends  TimerTask { 
    8181                @Override 
    8282                public void run() { 
     
    9595                                mLog.error("cannot register user["+userName+"]",e); 
    9696                        } finally { 
    97                                 mTimer.schedule(this, REGISTRATION_PERIOD-REGISTRATION_PERIOD/10); 
     97                                mTimer.schedule(new  RegistrarTimerTask(), REGISTRATION_PERIOD-REGISTRATION_PERIOD/10); 
    9898                        } 
    9999                } 
    100100                 
    101101        }; 
    102         mTimer.schedule(lTimerTask, REGISTRATION_PERIOD-REGISTRATION_PERIOD/10); 
     102        mTimer.schedule(new  RegistrarTimerTask(), REGISTRATION_PERIOD-REGISTRATION_PERIOD/10); 
    103103        mSipClient.listen(); 
    104104        } catch (Exception e) { 
     
    129129                           lLoop =  Integer.parseInt(args[i + 1]); 
    130130                           System.out.println("nb-call [" + lLoop + "]"); 
    131                            isRegistered 
    132131                   } else { 
    133132                           System.out.println("Invalid option: " + args[i]); 
Note: See TracChangeset for help on using the changeset viewer.