sipwitch-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Sipwitch-devel] sipwitch + jitsi


From: David Grundberg
Subject: [Sipwitch-devel] sipwitch + jitsi
Date: Tue, 31 May 2011 22:20:28 +0200
User-agent: Thunderbird 2.0.0.24 (X11/20101027)

Hi,

I'm trying to set up sipwitch like this:

Machine1:
Runs jitsi with ports 6060 and 6061, user Tycho1, extension 201,
connected to sipwitch as 'address@hidden'.
Also runs sipwitch: ~/.sip-install/sbin/sipw  --desktop -t -vvvv

Machine2:
Runs jitsi with default ports, user Tycho2, extension 202, connects to
address@hidden (where the sipwitch process is)

I can chat from machine1 with machine2.  When I try to initialize a
call, the other side rings as normally. But if I try to accept the call,
the accepting side says "failed to parse address". Jitsi spits out this
on the accepting side:

2:01:50.204 SEVERE: impl.protocol.sip.CallPeerSipImpl.answer().1035
Failed to create an SDP description for an OK response to an INVITE request!
java.lang.IllegalArgumentException: Failed to parse address
        at
net.java.sip.communicator.impl.protocol.sip.sdp.SdpUtils.extractDefaultTarget(SdpUtils.java:1039)
        at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl.createMediaDescriptionsForAnswer(CallPeerMediaHandlerSipImpl.java:417)
        at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl.processFirstOffer(CallPeerMediaHandlerSipImpl.java:294)
        at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl.processOffer(CallPeerMediaHandlerSipImpl.java:266)
        at
net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.answer(CallPeerSipImpl.java:1021)
        at
net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl.answerCallPeer(OperationSetBasicTelephonySipImpl.java:1617)
        at
net.java.sip.communicator.impl.gui.main.call.CallManager$AnswerCallThread.run(CallManager.java:1232)
Caused by: java.net.UnknownHostException:  is not a valid host address
        at
net.java.sip.communicator.util.NetworkUtils.getInetAddress(NetworkUtils.java:785)
        at
net.java.sip.communicator.impl.protocol.sip.sdp.SdpUtils.extractDefaultTarget(SdpUtils.java:1035)
        ... 6 more

Notice that the empty string is the host address that jitsi tries to
look up.

Is there any sipwitch configuration that could fix this?

Is there any other client that is known to work on both linux and
windows that I can try?

Attaching my sipwitchrc.

David
<?xml version="1.0"?>
<sipwitch>
<!-- master config file.  The default config can be overriden with a
         runtime one stored in /var/run/sipwitch which can be installed by
         a management system.  If one is using a server executed under "user"
         permissions, then this would be ~/.sipwitchrc.
-->
<provision>
 <user id="tycho1">
  <secret>xxx</secret>
  <extension>201</extension>
  <display>Tycho</display>
 </user>
 <user id="tycho2">
  <secret>xxx</secret>
  <extension>202</extension>
  <display>Tycho 2</display>
 </user>


<!-- Allows provisioning to be in main config file as well as scattered. 
     This allows one to produce a single config file that represents the
         complete phone system.

<refer id="x"></refer>
<alias id="test"><contact>sip:address@hidden</contact></alias>
<user id="y"/>
<gateway id="z"/>
-->
</provision>
<access>
<!-- Access rules and cidr definitions.  By default 127.0.0.1/::1 are in
     a pre-generated "loopback" cidr.  Access rule entries are now
     automatically generated by scanning the network interface, so this
     is for special overrides or convenience naming.
  <local>172.16.59.0/24</local>
-->
</access>
<stack>
<!-- The effective names this server processes requests for, and an optional
     list of host or domain names this server will also respond to.  The
     default hostname is always accepted.
  <localnames>sip.gnutelephony.org, server.local, something 
somewhere</localnames>
-->

<!-- Stack configuration.  Here we restrict all access to the server under
     the local subnet, and we specify the local subnet is "trusted".  Trusted
         means that challenge digests will be relaxed for devices that are
         already registered with the server, and hence reduces the total sip
         traffic needed.  We map for 200 calls, set 2 dispatch threads for
         sip events, and bind to all interfaces.

  <restricted>local</restricted>
  <trusted>local</trusted>
-->
  <mapped>200</mapped>
  <threading>2</threading>
  <interface>*</interface>
  <dumping>false</dumping>

<!-- peering entry used for setting "proxy" ip address for external users
         when we are behind a NAT.  This is used for determining ip address for
         media proxy in particular.  Example entry shown.  Can be ip address or
     resolvable hostname.

         <peering>www.example.com</peering>
-->

<!-- special user id's.  The "system" id is used when the server creates a
     sip message that is not on behalf of any registered "ua", but rather
         from the server itself.  For example, when feeding a sms "message"
         through the control interface, this is generated as a "system" message.
         Attempts to dial the "system" id will always return SIP FORBIDDEN.
         
         The "anon" id is used when anonymous messages are generated.  These
         always respond with SIP NOT FOUND if one wishes to contact anon.
-->
  <system>system</system>
  <anon>anonymous</anon>
</stack>
<timers>
  <!-- ring every 4 seconds -->
  <ring>4</ring>
  <!-- call forward no answer after x rings -->
  <cfna>4</cfna>
  <!-- call reset to clear cid in stack, 6 seconds -->
  <reset>6</reset>
</timers>
<!-- we have 2xx numbers plus space for external users -->
<registry>
<!-- Registry properties.  We specify support for numeric telephone
     extensions on this machine, for 100 extensions starting at
         extension 200.  This is useful when sharing a common set of
         user provisioning records over multiple servers which are routed
         and segmented.  Hence if I want to call an extension outside of
         the range of the server I register with, I initially authenticate
         since this server has the common provisioning, but I then am referred
         to the actual target server where the destination user is registered.
         
         Keysize is used for hash indexing range.  Realm is the realm presented
         for www authentication, but is normally set uuid or in /etc/siprealm.
-->
  <prefix>200</prefix>
  <range>100</range>
  <keysize>77</keysize>
  <mapped>200</mapped>
  <!-- <realm>GNU Telephony</realm> -->
</registry>

<!-- templates may be used to set default values for automatically
     generated user accounts, such as default forwarding or password if
     not set.
<templates>
 <user>
  <secret>123</secret>
  <forwarding>
   <busy>voicemail</busy>
   <na>voicemail</na>
  </forwarding>
 </user>
 <admin>
  <forwarding>
   <busy>operator</busy>
   <na>operator</na>
  </forwarding>
 </admin>
</templates>
-->

<!-- Routing rules can do all sorts of transforms for dialed numbers.  The
     routing table can also be used to statically redirect ranges of
     extension numbers to alternate servers.  For example, we redirect 1xx
     numbers to a different server with something like:
     <redirect pattern="1xx" server="server.local"/>
     or a range of numbers to a single remote entity uri:
     <redirect pattern="3xx" target="sip:address@hidden"/>

     Reject rules can be used to reject with specific error messages, and
     rewrite rules can add or subtract prefix or suffix codes.
-->
<routing>
</routing>
</sipwitch>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]