Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > 9bffdced2d68376243a225014474753f > files > 8

siproxd-0.3.2-1mdk.ppc.rpm



Still under construction...


---------------------------------------------------------------------------
Q: What softphone work with siproxd?

A: The goal is that every softphone (that is SIP compliant) should be
   able to work via siproxd. Tested and/or reported to work so far:
   - linphone (0.9.0)
   - kphone (1.0.2)
---------------------------------------------------------------------------
Q: Siproxd's RTP proxying does only work for incoming RTP audio data.
   Should it not also proxy outgoing RTP data?

A: Curently (0.2.0) that is the correct behaviour. Incoming RTP traffic
   is handled by siproxd's RTP proxy. However, outgoing RTP traffic has
   to be handled by the firewall (IP masquerading).
---------------------------------------------------------------------------
Q: How do I setup IP masquerading for the outgoing RTP traffic?

A: if you are using 'ipchains' it is a firewall rule like the following:

   # ipchains -A forward -i ppp0 -j MASQ -s 10.0.0.0/24 -d 0.0.0.0/0

   This will set up IP masquerading for all local hostx (10.x.x.x) to
   the Internet (connected on ppp0). Read the ipchains documentation
   for details.
   More recent Linux Kernels (2.4.x) may use 'iptables' instead of
   'ipchains'. Check the corresponding documentation for details
   how to configure IP masquerading there.
---------------------------------------------------------------------------
Q: Is it possible from a remote computer to call the inbound computer?

A: Yes, see also next question.
---------------------------------------------------------------------------
Q: What SIP address must the remote computer use to make a call?

A: Scenario
   --------

   private IP address range             :          Internet
   10.0.0.x                             :          (publich IP address range)
                                	:
                                	:  foo.bar.org		xxx.org
   +-------------+	       +--------------+ 	     +-------------+
   !             !.10	    .1 ! masquerading ! publicIP     !  	   !
   ! IntHost     !-------------! Firewall     !------------>>! externalHost!
   !             !         eth0!              !ppp0	     !  	   !
   +-------------+	       +--------------+ 	     +-------------+
   user: johndoe                                               user: test							

  - IntHost is running an SIP softphone (like linphone, kphone)

   - The SIP address used by IntHost is sip:johndoe@foo.bar.org

   - The softphone on IntHost is configured to register at siproxd
     running on the firewall host (10.0.0.1) as sip:johndoe@foo.bar.org

   - foo.bar.org is the domain name corresponding to the public IP address
     of the firewall (eg use some dynamic DNS service [1])

   - externalHost does *not* register at siproxd running on the firewall host.


  The relevant part of the configuration (linphone) of IntHost 
  then looks like ($HOME/gnome/linphone):

  [sip]
  sip_port=5060
  use_registrar=1
  username=johndoe
  hostname=foo.bar.org
  registrar=sip:10.0.0.1
  reg_passwd=
  addr_of_rec=sip:johndoe@foo.bar.org
  reg_expires=900
  as_proxy=1
  as_redirect=0
  as_outbound=1

  To make an outgoing call from IntHost simply use the SIP address of the
  target ( -> sip:test@xxx.org).

  test@xxx.org can make a incoming calls - it simply has to use the registered
  SIP address of the softphone running on IntHost (sip:johndoe@foo.bar.org).
  Siproxd will then rewrite and forward the incoming request to Inthost.

  The externalHost does not need to know anything about the proxy. For the
  user sip:test@xxx.org it looks as he directly sends the traffic to
  foo.bar.org, siproxd then takes care about where to send it from there.

---------------------------------------------------------------------------
Q: How does the registration and mapping of inbound clients work?

A: The mapping mechanism of SIP addresses works basically like:

   Inthost sends a registration to siproxd with:
   - a 'To:' address of the address to be registered (sip:johndoe@foo.bar.org)
     (lets call this address the 'masqueraded' or 'public'  address)

   - a 'Contact:' address of the *true* address (sip:johndoe@10.0.0.10)

   Siproxd then will basically 'just' substitute the true address by the
   masqueraded address and vice versa. That means you can have multiple
   IntHosts (each of them using a different user name) running at the
   same time.

   For an incoming call, siproxd will search its registration table for
   the requested SIP address and so finds the internal host that belong to it.

   This of course *requires* that the username part of the SIP address is
   unique for each softphone that registers a the proxy (So this is more or
   less the mechanism that you mentioned in your mail).
---------------------------------------------------------------------------

yet unstructured:
Hi there


As the maintainer of siproxd I may provide some useful informations ;-)

First I have to admin that the documentation of siproxd is
a) far from complete
b) not very detailed yet
c) could be better ;-)

For your enviroment the config of the linphone SIP parameters
would look like:

Your sip address:	sip:rbrewer@<your_ppp_IP_address>
Server address:		sip:192.168.0.1
Address of record:	sip:rbrewer@<your_ppp_IP_address>

The following check boxes enabled:
- use sip registrar
- Proxy server 
- Outbound Proxy

<your_ppp_IP_address> is the IP address (or host name) that you
got on the PPP link.

For siproxd, the outbound address will be <your_ppp_IP_address>.
Currently, you have two possibilities to use dynamic IP addresses
with siproxd:

a) Edit the config file each time you IP changes
   I agree, this is not desirable

b) use some dynamic DNS service and then use the host name.
   I personally use DynDNS (-> http://www.dyndns.org)

I may add some better support for dynamic IP addresses within
siproxd.

(has anybody some C code snipplets at hand how to fetch the IP
address of a specific interface by knowing just its name?)


Regards,

/Thomas


> Message: 3
> To: linphone-users@nongnu.org
> Date: Tue, 12 Nov 2002 01:38:04 -0500 (EST)
> Reply-To: rbrewer@op.net
> From: rbrewer@op.net (Robert W. Brewer)
> Subject: [Linphone-users]use with outbound proxy siproxd
> 
> I'm running the Linphone 0.9.1 Debian package.  It's working correctly
> as much as I've tested so far, which is just talking to sipomatic.
> 
> Now I'm trying to operate with siproxd as an outbound proxy, since
> my Linphone machine connects to the Internet via another Linux box
> configured as an IP masquerading firewall.  
> 
> I've read the documentation, and it isn't very clear about 
> what the different addresses mean.  In particular, I'm
> confused about what to fill in for the following fields
> in the SIP Parameters tab:
> 
>   Your sip address:  sip:rbrewer@wiz
>   Server address:    sip:192.168.0.1
>   Address of record  sip:rbrewer@192.168.0.1
> 
> Do those look correct?  Do they even matter since I'm not
> really registering with a server?  Note that wiz is not a valid
> external DNS name.  Linphone does seem to be registering with
> my siproxd.
> 
>   192.168.0.1  is the internal address of my firewall machine
>   209.92.x.y   is the external (ppp) address of my firewall machine,
>                     which is dynamic
>   192.168.0.10 is the internal address of my Linphone machine
> 
> Also, it appears that every time I start my ppp session
> I will have to edit the siproxd config file and tell it
> my new outbound ppp address.  Is that true?
> 
> Thanks for any hints.
> 
> -Rob