News:

On Tuesday September 6th the forum will be down for maintenance from 9:30 PM to 11:59 PM PDT

Main Menu

Using CSipSimple With OBi

Started by ianobi, November 25, 2012, 03:26:42 AM

Previous topic - Next topic

ianobi

QBZ,

Thanks for the idea, but no luck. With or without X_UseRefer the Caller ID is getting passed on when I fork an incoming call using ui=$1. I see this in Call History:

Forking to:PHONE1, SP2(459xxxxx@sip2sip.info;ui=07511xxxxxx)

The correct userid is being passed to sip2sip, but it seems to make sip2sip ignore the call altogether. I suspect the Caller ID passed on to sip2sip is somehow upsetting the account credentials.

ianobi

With only a proxy (127.0.0.1) set up on sp2, then X_SpoofCallerID works perfectly! Now on an incoming call to OBi forked to CSipSimple via the sip2sip account registered on CSipSimple, Caller ID is passed as it should be!

I may treat myself to a beer later  :D

QBZappy

Ian,

I'll bring the potato chips.  Everyone welcome. We'll make a it our annual Christmas party. :D
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

azrobert

#23
I finally got this setup to work with CALLERID!!!!!!!!!!!!!!

My OBi110 Setup:

SP1 = GV
         X_InboundCallRoute = {ph,sp2(MYUSERID@sip2sip.info)}

SP2 = SIP Provider (not SIP2SIP)
          Registration Disabled
          X_SpoofCallerID  Enabled

All I did was turn off registration on SP2 and it started working.
It still doesn't work with $ui.

You don't need the OBi registered to SIP2SIP for this to work.
The only place I have SIP2SIP defined is on the inbound call route.
Just turn off registration for the SPx you're using to route inbound calls to your android.


Edit: I guess I'm a little late.  ianobi already solved the problem.

ianobi

It's always reassuring when someone else reaches the same conclusion  :)

duzlu_it

There is an Android app called "Servers Ultimate" that will run a Dynamic DNS server on your cell phone (much like a router does for your router's wan connection).  It is programming the IP into my DDNS provider (DynDNS.com), but I haven't tried it to deliver an incoming SIP call.

Don B.

azrobert

#26
I have a new method of using CSipSimple to directly initiate calls on an OBi, eliminating Sip2Sip.

I was reading ianobi's topic "Using Any OBi as a Home PBX" where he uses CSipSimple without registration and a light bulb came on in my head. If you like my solution, credit should go to ianobi for pointing me in the right direction.

In CSipsimple add a new account.
Select BASIC
Account name = anything
User = robert
Server = me.dyndns.com:5061
Password = anything
SAVE

Press and hold on the account name.
When a new screen appears select "Choose Wizard".
Select Expert
Select your account again.
Select Registration URI and blank it out, then ok.
SAVE

In OBi's SP2 X_InboundCallRoute add:
{(robert)>(xxxxxxxxxx):sp1}

That's it. Dial a number on your Android and the call will go out SP1.
No CSipSimple filters.
Eliminating Sip2Sip should improve latency by a few milliseconds.

This is for outbound calls only. You would need to register another account on Sip2Sip to receive calls.

I have SP2 registered to a Provider and I still received CallerID from SP1 forked calls, so something has changed.


cpetro

First of all, I would like to thank all the super smart people on this forum for spending their valuable time helping folks.  This thread in particular is jam packed with knowledge and has really sparked my interest in SIP!  I must have read through it 100x. 

I've got SP1 attached to GV and SP2 setup unregistered to sip2sip on my Obi110.  Incoming GV calls are getting forked to my CSipSimple client on my Android beautifully.  It's simply amazing how well it works!  The key to my setup was enabling ICE in CSipSimple.

Now my cry for help...

I followed azrobert's method above to get calls from CSipSimple to go into SP2 and and out GV.  The calls are going through to the other end but there is no audio once connected.  I have tried forwarding UDP ports 16800-16998 and also putting the Obi on my DMZ but no luck.  Any suggestions?

azrobert

#28
I'm assuming your Android is connected to the same router as the OBi.

Get the assigned IP address of your Android from your router.
Port forward UDP ports 4000-4007 to IP of the Android.
These are the CSipSimple RTP ports.

You should only have this problem when the Android and OBi are on the same LAN.

Edit:

Also include ports 16600-16798 forwarded to OBi.

azrobert

Quote from: cpetro on February 05, 2013, 05:57:19 AM

I've got SP1 attached to GV and SP2 setup unregistered to sip2sip on my

FYI SP2 only needs to be enabled as SIP, therefore you can use SP2 for another provider other than Sip2Sip.

cpetro

Quote from: azrobert on February 05, 2013, 06:43:33 AM
I'm assuming your Android is connected to the same router as the OBi.

Get the assigned IP address of your Android from your router.
Port forward UDP ports 4000-4007 to IP of the Android.
These are the CSipSimple RTP ports.

You should only have this problem when the Android and OBi are on the same LAN.


Wow thanks for responding azrobert!

I'm not using my Android on WiFi...it's on 3g or 4g.  Correct me if I'm wrong, but isn't the Obi listening on 16800?  I tried changing the RTP start port in CSipSimple to 16800, but still no audio.

QBZappy

cpetro,

It might be an issue related to codec. Make sure that the app is using 711 codec. Here are the test numbers for sip2sip:
http://wiki.sip2sip.info/projects/sip2sip/wiki/SipTesting
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

azrobert

Did you see my edit above?

SP1 uses 16600-16798
SP2 uses 16800-16998

cpetro

I'm trying to go

CSipSimple --> router --> SP2 --> fork that call out of GV on SP1

Can I do it this way?  The desired result is exactly like OBION except using CSipSimple. 

Using azrobert's setup, calls from CSipSimple on 3g/4g/wifi are making it all the way but when the person answers it's just dead air.  Putting the Obi on my DMZ basically eliminates routing as the issue, so I'm thinking its an Obi or CSipSimple setting that I'm missing.  It feels like I'm soooo close and I've been banging my head on this for days!

QBZappy

Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

cpetro

#35
I have all the codecs selected in CSipSimple, but none are specifically G711.  The call info shows PCMU 8khz while on the 'dead air' call.  That's the same codec info shown on an incoming GV call forked to my Android from the Obi.

QBZappy

cpetro,

Can you get the sip2sip test numbers referenced above?
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

azrobert

It works for me using WiFi.
I currently don't have a data plan for my Android, so I can't test 3G.
Maybe you should try the original method of routing thru Sip2Sip to your router.

cpetro

Thanks for all your help QBZappy and azrobert! 

I'm able to call the test numbers from the CSipSimple dialpad without any problems.  The call info shows the same PCMU codec and the sound quality is good to go. 

Decided I'm going to take your advice and go through sip2sip again.  My data plan is unlimited and very fast so I pretty much never turn my wifi chip on to save battery.  After I get calls working the way I want, I'm going to work on switching to TCP keepalives to save a little more.   ;D

azrobert

Just curious.
Has anyone got my method of bypassing Sip2Sip to work?