Vovida SIP User Agent Frequently Asked Questions
Updated March, 2001


1. Can I use the ua, even if I don't have a Quicknet card?

Yes, you can use the ua to test signaling without a speech path, or
you can use a sound card with an OSS sound driver.  See the README
for more information on the sound card.  The default mode for
the ua is called NullHwDevice, which simply sends and receives SIP
messages, without a speech path.


2. How do I use the load generator?

The ua's load generator is used to place a call load on a proxy.
You must set up a pair of uas to call each other through the proxy.
Most of the relevant information is located in SampleConfigFiles/auto1000.cfg
(Calling) and SampleConfigFiles/auto1001.cfg (Receiving) files.


3. Where can I find other SIP stacks and ua implementations?

Check out: http://www.cs.columbia.edu/~hgs/sip/implementations.html


4. I have the ua running, but it's sending messages from localhost.  Why?

Currently, the From field is retrieved by 'gethostbyname()'.  Your
machine must know its own hostname for SIP messaging to work
correctly.  Check your /etc/hosts file, and add an entry for your
computer which does NOT use the localhost address (127.0.0.1).


5. Can I run the ua through a firewall?

Maybe.  If you're trying to connect to the external world with the ua,
there are a couple of possible scenarios:

If you are on a DMZ, you can run the ua by opening up ports for SIP
(5060-5080, for example) and RTP/RTCP (10,000-10,199 for example) if
you also need a speech path.  SIP ports and RTP/RTCP ports are
configurable in the ua.cfg file.

If you are running the ua on a machine with an internal LAN reserved
address space IP (192.168.x.x, 10.x.x.x, etc.), you can either use port
forwarding of specific ports to specific machines, or run IP
Masquerading with the SIP special module.  See
	http://www.siphappens.com/masquerade/
for more details on how to do this.


6. Where can I test the ua?

You can test the ua by doing peer-to-peer phonecalls.  The easiest way
is to enter both machines into the ua.cfg file as speed dial numbers.
Then simply go offhook and press the '#' key followed by the speed dial
number.  For external testing of the SIP ua, you can try:
www.sipcenter.com or sipaccount.wcom.com .


7. When will we be given CVS access?

Please see

	http://www.vovida.org/cgi-bin/fom?file=344

for information about CVS.


8. How do I run the ua using my sound card for speech path?

  1. Make sure that you have sound drivers working correctly for
     your soundcard.  Right now, the sound drivers work for OSS and
     for the Windows sound devices.
  2. Edit the ua.cfg file and change the device name to '/dev/dsp'
     or the device name of your sound card.
  3. Run the ua with the -s command line option.


9. Where can I get more help?

Join the SIP mailing list on www.vovida.org.  We have an active list with
plenty of people willing and able to help.


10. How do I get the Quicknet drivers working under Redhat 6.2?

You will need to use the 0.3.18gpl drivers included with the ua.  First,
make sure you have the kernel sources installed.  We suggest using the
latest stable kernel from ftp.kernel.org (currently 2.2.18, or 2.4.2 for
the adventurous), but if compiling a kernel isn't an option, do the
following:
  1. Install kernel source rpms from the RH6.2 CDs.
  2. '$ su -' & enter root password
  3. '$ cd /usr/src/linux'
  4. '$ make menuconfig'
  5. select 'exit'
  6. select 'yes' to save the kernel configuration
  7. '$ cd <PATH_TO_ixj0.3.18gpl>'
  8. '$ mv ixj-REDHAT.c ixj.c'
  9. '$ make clean; make ixj'
  10.'modprobe ixj' to load the drivers.

If you have any other problems with these drivers, contact www.quicknet.com
or www.redhat.com.


11.  How do I run make the ua run in load generation mode?

You can turn the ua into a load generating test tool that tests the
sip signaling (call setup only).

- Quick start:

    Setup -  two linux boxes.  one for calling, one for receiving.

    Calling load generator:

    1.  edit the ua.cfg file for the calling load generator.
    2.  set Proxy_Server field to the <ip:port> of the receiving side.
    3.  set LoadGen_On to True.
    4.  set RunMode to Calling.
    5.  set CallUrl to sip:<id>@<host of receiving>
    6.  set MonitorMsgOn to True.
    7.  set RtpGenOn to False.

    Receiving load generator:

    1.  edit the ua.cfg file for the receiving load generator.
    2.  set Proxy_Server field to the <ip:port> of the calling side.
    3.  set LoadGen_On to True.
    4.  set RunMode to Receiving.
    5.  set MonitorMsgOn to True.
    6.  set RtpGenOn to False.


    To run:

    1.  run the receiving load gen first using the corresponding
        config file.

        ./ua -f ua.cfg

    2.  run the calling load gen.
w

        ./ua -f ua.cfg


- To debug:

    If it doesn't seem like the load generator is making any calls, run the
    ua in verbose mode to get debug information.

    ./ua -v -f ua.cfg

    You may also want to use a packet sniffer (ipgrab for linux users) to
    check to see if the packets make it across the network.  If you are
    running the load generators on the same machine, you'll need to detect
    the packets on the loopback interface.

    If you are pointing the load generator to a proxy server or some
    particular system, you may need to register first with that server.
    To turn on registration, configure the registration information in
    the ua.cfg file.


- Call flow (single call between the two load generators):

    Calling                             Receiving
           -----      Invite      ---->
           <----      200 OK      -----
           -----      ACK         ---->

           *** call is established ***

           *** after waiting a     ***
           *** period specified in ***
           *** CALL_DURATION       ***

           -----      BYE         ---->
           <----      200 OK      -----


- Misc load gen notes:

    Q:  Can I run the load generators (calling and receiving) on the same
        machine?
    A:  Yes.  You'll need to make sure that the load generators are using
        different ports.

    Q:  Can I run multiple load generators on the same machine?
    A:  Yes.  Again, you'll need to make sure that they are using different
        ports.

    Q:  What is RSTest mode?
    A:  This was a mode that was used to test a Redirect Server.  This mode
        has not been updated and is not currently supported.  See files:
        StateAutoRS.cxx, OpAutoRS.cxx, and OpAutoRSAck.cxx for how it use
        to work.


12.  How do I use the ad-hoc conference feature?
  
You need to run 3 ua's and also provide a conference bridge from an external
vendor to mix the audio. Set the Ua_Xfer_Mode of the originating ua (A)
to "Conference", and that of B & C to "Transfer". Set A's Conference_Server to
the conference bridge number as explained in the README. Then perform the
following call scenario:

A calls B, B answers
A flash-hooks B to put B on hold
A calls C, C answers
A flash hooks C

This second flash hook will cause A to put C on hold, send TRANSFER messages
to both B and C and to INVITE itself to the same URI. The bridge should answer
the calls and start the conference.

Note that this is a proprietary Vovida scheme as there is no existing
standard for SIP ad-hoc conference calls.


Good luck!
