Registration Agent not working

Discussions about using SIP Sorcery on your own computer/server
Post Reply
Inter_MAN
Posts: 18
Joined: Sat Mar 08, 2008 9:32 pm

Registration Agent not working

Post by Inter_MAN » Thu Sep 02, 2010 6:09 pm

Hi Aaron,

after unsuccessful try to run sipsorcery 1.2 on Debian under Mono, I managed to run v 1.1 with XML configuration. Only thing which is not working is Registration Agent. Log file says that 2 configured sipproviders has been loaded. Both of them have registerenabled set to true. The log file also says that Registration Agent has been successfully started. Unfortunately there's no mention about registration to any sipprovider and incoming calls doesn't work.

Do you have any idea?

Thanks for help!

Aaron
Site Admin
Posts: 4652
Joined: Thu Jul 12, 2007 12:13 am

Re: Registration Agent not working

Post by Aaron » Thu Sep 02, 2010 11:12 pm

It may be that the synchronisation between the sipproviders and sipproviderbindings XML is not working for some reason (or maybe it was missing in that version I can't remember). The Registration Agent acts on the sipproviderbindings records and not the sipproviders. If you have the Silverlight client running all you need to do is disable and then re-enable a SIP provider for registration and a new sipproviderbinding entry should be created.

Inter_MAN
Posts: 18
Joined: Sat Mar 08, 2008 9:32 pm

Re: Registration Agent not working

Post by Inter_MAN » Sat Sep 04, 2010 8:50 am

I haven't the Silverlight client running because of this error for which I haven't find solution yet:

Code: Select all

Exception starting Provisioning hosted service. Base addresses must be added before the service description is initialized
Exception starting CrossDomain hosted service. Base addresses must be added before the service description is initialized
Exception starting CallManager hosted service. Base addresses must be added before the service description is initialized
Is there another way to let the server create the sipproviderbindings records? If not, can I add it manually? Can you give me a sample record?

Thanks!

Aaron
Site Admin
Posts: 4652
Joined: Thu Jul 12, 2007 12:13 am

Re: Registration Agent not working

Post by Aaron » Sun Sep 05, 2010 11:52 am

A sample record is shown below. It's critical that the providerid value matches the entry in your sipproviders.xml file (you can consider it a foreign key), if it doesn't the provider binding will be ignored and deleted.

Code: Select all

<sipproviderbindings>
 <sipproviderbinding>
   <id>2f967cc0-2f36-47b8-9d87-b55503d141a4</id>
   <providerid>f39e90ac-24c4-414f-97e6-9adf0c795b41</providerid>
   <providername>someprovider</providername>
   <owner>you</owner>
   <adminmemberid></adminmemberid>
   <bindinguri>sip:yourbinding@10.0.0.100</bindinguri>
   <cseq>0</cseq>
   <contactheader></contactheader>
   <registrationfailuremessage></registrationfailuremessage>
   <lastregistertime></lastregistertime>
   <lastregisterattempt></lastregisterattempt>
   <nextregistrationtime>2010-09-05T11:50:24.6359212+00:00</nextregistrationtime>
   <bindingexpiry>3600</bindingexpiry>
   <isregistered>False</isregistered>
   <registrarsipsocket></registrarsipsocket>
 </sipproviderbinding>
</sipproviderbindings>

Inter_MAN
Posts: 18
Joined: Sat Mar 08, 2008 9:32 pm

Re: Registration Agent not working

Post by Inter_MAN » Fri Oct 08, 2010 11:37 am

Hi Aaron,

I've moved a bit with my problem. Now there's a problem with starting Provisioning service with very short error description:

Code: Select all

Exception starting Provisioning hosted service. Value must be positive integer.
CrossDomain hosted service successfully started on http://172.30.30.43:8080/.
CallManager hosted service successfully started on http://172.30.30.43:8080/callmanager.
There's no description about which value must be positive integer.

Here's my service configuration. I thik its the same as the default one.

Code: Select all

  <system.serviceModel>
    <extensions>
      <behaviorExtensions>
        <add name="silverlightFaults" type="SIPSorcery.SIP.App.SilverlightFaultBehavior, SIPSorcery.SIP.App, Version=0.2.0.1, Culture=neutral, PublicKeyToken=null" />
      </behaviorExtensions>
    </extensions>
    <services>
      <service name="SIPSorcery.SIP.App.CrossDomainService">
        <host>
          <baseAddresses>
		  <add baseAddress="http://172.30.30.43:8080/"/>
          </baseAddresses>
        </host>
        <endpoint address="" binding="webHttpBinding" contract="SIPSorcery.SIP.App.ICrossDomain" behaviorConfiguration="HttpEnableBehavior" />
      </service>
      <service name="SIPSorcery.SIP.App.SIPProvisioningWebService" behaviorConfiguration="PersistorTypeBehaviors">
        <host>
          <baseAddresses>
            <add baseAddress="http://172.30.30.43:8080/provisioning.svc"/>
          </baseAddresses>
        </host>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <endpoint address="" behaviorConfiguration="SilverlightFaultBehavior" binding="basicHttpBinding" 
                   contract="SIPSorcery.SIP.App.IProvisioningService" bindingConfiguration="LargeMessagesBindingConfiguration"/>
      </service>
      <service behaviorConfiguration="GetServiceBehavior" name="SIPSorcery.Servers.CallManagerServices">
        <host>
          <baseAddresses>
            <add baseAddress="http://172.30.30.43:8080/callmanager" />
          </baseAddresses>
        </host>
        <endpoint address="" behaviorConfiguration="HttpEnableBehavior" binding="webHttpBinding" contract="SIPSorcery.Servers.ICallManagerServices" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="PersistorTypeBehaviors" >
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
        <behavior name="GetServiceBehavior">
          <serviceMetadata httpGetEnabled="true" httpGetUrl="" />
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="SilverlightFaultBehavior">
          <silverlightFaults />
        </behavior>
        <behavior name="HttpEnableBehavior">
          <webHttp/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="LargeMessagesBindingConfiguration">
          <readerQuotas maxStringContentLength="40000" />
        </binding>
      </basicHttpBinding>
    </bindings>
  </system.serviceModel>
Thanks for help!

Aaron
Site Admin
Posts: 4652
Joined: Thu Jul 12, 2007 12:13 am

Re: Registration Agent not working

Post by Aaron » Sat Oct 09, 2010 9:31 pm

I'm not sure where that error is coming from, possib;y something to do with WCF (the .Net technology that exposes the sipsorcery web services) on mono. However, if you're using XML files for your instance and aren't using the Silverlight client you don't need the provisioning service so can safely ignore the error.

Post Reply