Anthony Minessale 3a32d9e53c Presence and Chat Gateway Code
This is some brand new stuff to gateway chat/presence/audio from one protocol to another
So far it only works between google/jingle and SIP

All I had to test the SIP end was X-Lite and Eyebeam and GoogleTalk on the jingle end.

With this setup registered X-Lite's can chat with each other and call each other 
as well as X-Lite to GoogleTalk and GoogleTalk to X-Lite audio calls.

Chat May also be done between X-Lite and jabber 

You'll also need a jabber server configured for component login so you can interface.
We have only tested with jabberd2 so far.

Configure DNS so srv records for jabber for your subdomain (fs.mydomain.com in the example)
so the jabber records are pointed at your jabber server.

RELEVANT CONFIGS

<!-- Brian has no jingle support so send calls to him over to his iax url -->
<extension name="bkw">
  <condition field="destination_number" expression="^jingle\+brian@agents.cylynx.com$">
    <action application="bridge" data="iax/guest@brianwest.homeunix.org/9184290404"/>
  </condition>
</extension>

<!-- Assumption is made here that both sip and jingle have the same profile/domain name as documented below -->

<extension name="jingle2sip">
  <condition field="source" expression="mod_dingaling"/>
  <condition field="destination_number" expression="^sip\+([^\@]+)\@(.*)$">
    <action application="bridge" data="sofia/$2/$1%$2"/>
  </condition>
</extension>

<extension name="sip2jingle">
  <condition field="source" expression="mod_sofia"/>
  <condition field="destination_number" expression="^jingle\+([^\@]+)\@(.*)$">
    <action application="bridge" data="dingaling/sip+${sip_fromuser}@${sip_fromhost}/$1@$2"/>
  </condition>
</extension>


<configuration name="sofia.conf" description="sofia Endpoint">
  <global_settings>
    <param name="log-level" value="0"/>
  </global_settings>

  <profiles>
    <profile name="fs.mydomain.com">
      <registrations/>
      <settings>
	<param name="debug" value="1"/>
	<param name="rfc2833-pt" value="101"/>
	<param name="sip-port" value="5060"/>
	<param name="dialplan" value="XML"/>
	<param name="dtmf-duration" value="100"/>
	<param name="codec-prefs" value="PCMU"/>
	<param name="codec-ms" value="20"/>
	<param name="accept-blind-reg" value="true"/>
	<param name="manage-presence" value="true"/>
	<!--<param name="full-id-in-dialplan" value="true"/>-->
	<!--<param name="auth-calls" value="true"/>-->
	<!--<param name="auth-all-packets" value="true"/>-->
	<param name="use-rtp-timer" value="true"/>
	<param name="rtp-timer-name" value="soft"/>
	<param name="rtp-ip" value="100.200.100.200"/>
	<param name="sip-ip" value="fs.mydomain.com"/>
      </settings>
    </profile>
  </profiles>

</configuration>


<configuration name="dingaling.conf" description="XMPP Jingle Endpoint">
  <settings>
    <param name="debug" value="0"/>
    <param name="codec-prefs" value="PCMU"/>
  </settings>

  <profile type="component">
    <param name="name" value="fs.mydomain.com"/>
    <param name="password" value="secret"/>
    <param name="dialplan" value="XML"/>
    <param name="rtp-ip" value="208.64.200.42"/>
    <param name="server" value="jabber.freeswitch.org:5347"/>
    <!-- disable to trade async for more calls -->
    <param name="use-rtp-timer" value="true"/>
    <param name="exten" value="_auto_"/>
    <!--<param name="vad" value="both"/>-->
  </profile>

</configuration>



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3115 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-20 06:17:00 +00:00
2006-10-19 00:20:40 +00:00
2006-10-20 06:17:00 +00:00
dox
2006-05-10 20:02:01 +00:00
2006-10-20 06:17:00 +00:00
2006-09-29 13:00:28 +00:00
2006-10-20 06:17:00 +00:00
2006-09-30 00:14:03 +00:00
2006-02-08 21:32:03 +00:00
hi
2005-11-12 21:27:19 +00:00
2006-09-30 00:14:03 +00:00
2006-10-18 22:57:35 +00:00
2006-10-02 03:07:28 +00:00
hi
2005-11-12 21:27:19 +00:00

Freeswitch depends on several out of tree libraries.  All of freeswitch depends on APR, and mod_exosip depends on osip, exosip, jtrhead, and jrtplib.  
Download locations and links for details can be found below.

Apr info available at: http://apr.apache.org

Download Locations:
apr: http://apache.mirrors.versehost.com/apr/apr-1.2.2.tar.gz

Backup Download Locations:
apr: http://www.sofaswitch.org/mikej/apr-1.2.2.tar.gz


Exosip\Osip info available at: http://www.antisip.com/

Download Locations:
osip: http://www.antisip.com/download/libosip2-2.2.1.tar.gz
exosip: http://www.antisip.com/download/libeXosip-0.9.0.tar.gz

Backup Download Locations:
osip: http://www.sofaswitch.org/mikej/libosip2-2.2.1.tar.gz
exosip: http://www.sofaswitch.org/mikej/libeXosip-0.9.0.tar.gz


Jthread\Jrtplib info available at: http://research.edm.luc.ac.be/jori/page.html

Download Locations:
jthread: http://research.edm.luc.ac.be/jori/jthread/jthread-1.1.2.tar.gz
jrtplib: http://research.edm.luc.ac.be/jori/jrtplib/jrtplib-3.3.0.tar.gz

Backup Download Locations:
jthread: http://www.sofaswitch.org/mikej/jthread-1.1.2.tar.gz
jrtplib: http://www.sofaswitch.org/mikej/jrtplib-3.3.0.tar.gz

MSVC Notes:
Freeswitch will compile and run from Microsoft Visual Studio 2005.  
If using the Visual C++ Express edition, please make sure that the location of the include and lib directories are propperly set in the file
C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages\VCProjectEngine.Dll.Express.Config.  
The automated build process for te dependecy libraries will not work without these settings.


Description
FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unl
Readme Multiple Licenses 267 MiB
Languages
C 64.4%
C++ 21.8%
JavaScript 4.7%
Assembly 2%
Makefile 1%
Other 5.4%