[OpenSIPS-Users] opensips als LB for multi-FS cluster: nasty problems with TCP/TLS registered clients

Johannes Jakob lists.jj at googlemail.com
Sun Aug 19 00:38:10 CEST 2012


I still didn't find a solution for this one…

but at least I found an other problem :(

Same setup:
- Users A, B and C registered via open sips to FreeSWITCH 13.13.13.66.
- User A is calling User B, but User B enabled unconditional call forwarding to User C
- => the initial INVITE will be answered by 302 Moved Temp.
- => The resulting 302 will be sent by the User B's phone to the OpenSIPs Proxy (222.222.222.222)
- => the proxy _modifies_ the contact URI => Call Forwarding won't work:


# User B's Telephone -> Proxy

U 17.17.17.245:7392 -> 222.222.222.222:5060
SIP/2.0 302 Moved Temporarily.
Via: SIP/2.0/UDP 222.222.222.222;branch=z9hG4bK4c26.a8b93cd7.0.
Via: SIP/2.0/UDP 13.13.13.66;received=13.13.13.66;rport=5060;branch=z9hG4bKvF2yt743N06gg.
Record-Route: <sip:222.222.222.222;lr;ftag=64tND1Brm8K0D;did=044.8d0d03a5>.
From: "User B" <sip:1002 at sip.isp.net>;tag=64tND1Brm8K0D.
To: <sip:1001 at 17.17.17.245:7392;line=jxlhtxze>;tag=40ti06bsjs.
Call-ID: ceb0acf7-6417-1230-2c88-0016367615cd.
CSeq: 32325154 INVITE.
=> Contact: <sip:1003 at sip.isp.net;user=phone>.
Diversion: <sip:1001 at 17.17.17.245:7392;line=jxlhtxze>;reason="unconditional".
Content-Length: 0.
.

# Proxy -> PBX

U 222.222.222.222:5060 -> 13.13.13.66:5060
SIP/2.0 302 Moved Temporarily.
Via: SIP/2.0/UDP 13.13.13.66;received=13.13.13.66;rport=5060;branch=z9hG4bKvF2yt743N06gg.
Record-Route: <sip:222.222.222.222;lr;ftag=64tND1Brm8K0D;did=044.8d0d03a5>.
From: "User B" <sip:1002 at sip.isp.net>;tag=64tND1Brm8K0D.
To: <sip:1001 at 17.17.17.245:7392;line=jxlhtxze>;tag=40ti06bsjs.
Call-ID: ceb0acf7-6417-1230-2c88-0016367615cd.
CSeq: 32325154 INVITE.
=> Contact: <sip:1003 at 17.17.17.245:7392;user=phone>.
Diversion: <sip:1001 at 17.17.17.245:7392;line=jxlhtxze>;reason="unconditional".
Content-Length: 0.



any idea, what module/part of my script does this? uac_redirect shouldn't touch it, since it defaults to accept…

Please guys, everything is working so well except for Call Forwarding / Diversion and the nasty protocol hiccup…
I know, I'm a noob regarding open sips, but I've got only 24hrs a day and already too much on my list…


Thanks for any help,
Johannes  


--  
Johannes Jakob
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)


On Friday, 17. August 2012 at 14:46, Johannes Jakob wrote:

> Hi again,
>  
> I'm sorry to have to be that persistent, but I'm running out of time with this issue, things have to be running smoothly next week.
>  
> Is there an obvious flaw in my setup you can point me out to?
>  
> Thanks a lot and best Regards,
>  
> Johannes  
>  
> --  
> Johannes Jakob
> Sent with Sparrow (http://www.sparrowmailapp.com/?sig)
>  
>  
> On Thursday, 16. August 2012 at 11:04, Johannes Jakob wrote:
>  
> > Hi Bogdan,
> >  
> > Thanks for trying to help! (And this great piece of software!)
> >  
> > My slightly modified version of the config:
> >  
> > http://pastebin.freeswitch.org/19716
> >  
> > Thanks again!
> >  
> > Best Regards,
> >  
> > Johannes
> >  
> >  
> >  
> > On Thu, Aug 16, 2012 at 10:28 AM, Bogdan-Andrei Iancu
> > <bogdan at opensips.org (mailto:bogdan at opensips.org)> wrote:
> > > Hi Johannes,
> > >  
> > > So FS acts as register server, OpenSIPs is just LB. If so, I suspect so
> > > error in the routing logic in OpenSIPS (when handling calls from FS to
> > > UACs).
> > >  
> > > Could you post somewhere (pastebin) your script ?
> > >  
> > > Regards,
> > >  
> > > Bogdan-Andrei Iancu
> > > OpenSIPS Founder and Developer
> > > http://www.opensips-solutions.com
> > >  
> > >  
> > >  
> > > On 08/15/2012 11:46 PM, Johannes Jakob wrote:
> > > >  
> > > > Hi guys,
> > > >  
> > > > First of all, I'm rather new to OpenSIPs and still struggling with
> > > > details of configuration.
> > > > OpenSIPs is used for "load balancing" in front of currently only one
> > > > active and one standby FreeSWITCH servers.
> > > >  
> > > >  
> > > >  
> > > > As a starting point, I used the example config I found here:
> > > >  
> > > > http://wiki.freeswitch.org/wiki/OpenSIPS_configuration_for_2_or_more_FreeSWITCH_installs#Edit_opensips.cfg
> > > >  
> > > >  
> > > > Since it worked out of the box, I didn't change much:
> > > > - enabled TLS support
> > > > - modified addresses and ports
> > > > listen=udp:222.222.222.222:5060
> > > > listen=tcp:222.222.222.222:5060
> > > > listen=tls:222.222.222.222:5061
> > > > disable_tls=no
> > > > tls_method=SSLv23
> > > >  
> > > > fixed localcache.so -> cachedb_local.so with variables
> > > > loaded sipmsgops.so
> > > >  
> > > >  
> > > >  
> > > > Well, the problem is, that OpenSIPs doesn't consider the transport
> > > > protocol, the sip client is using.
> > > >  
> > > > Until now, all the clients were using UDP to register, so I didn't
> > > > have any problems. But now, some
> > > > clients need to register via TCP or even better TLS, because iPhone
> > > > clients need a tcp session to be
> > > > notified of incoming calls when the app is running backgrounded.
> > > >  
> > > > Clients (iPhone Groundwire) can connect just fine via TCP or TLS, can
> > > > make calls without any issues, BUT
> > > > can't receive calls at all. (when registering via UDP, they can
> > > > receive calls until they suspend the app)
> > > >  
> > > > For starters, let's asume the client registers via TCP.
> > > >  
> > > >  
> > > > Scenario:
> > > >  
> > > > iPhone<TCP> OpenSIPs<UDP> FreeSWITCH
> > > >  
> > > > Registering works fine with these protocols (the iPhone sends and
> > > > receives TCP messages)
> > > >  
> > > >  
> > > >  
> > > >  
> > > >  
> > > > FreeSWITCH's perspective:
> > > >  
> > > >  
> > > > Registrations:
> > > >  
> > > > =================================================================================================
> > > > Call-ID: E5D9A907EC8E61D20B0A59F00D5810FC20EF7D63
> > > > User: 1002 at sip.isp.net (mailto:1002 at sip.isp.net)
> > > > Contact: "user"
> > > >  
> > > > <sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp;fs_path=%3Csip%3A222.222.222.222%3Br2%3Don%3Blr%3Breceived%3Dsip%3A17.17.17.235%3A52364%3E>
> > > > Agent: Acrobits Softphone Business/2.4
> > > > Status: Registered(TCP)(unknown) EXP(2012-08-15 22:17:58)
> > > > EXPSECS(91)
> > > > Host: pbx.isp.net (http://pbx.isp.net)
> > > > IP: 222.222.222.222
> > > > Port: 5060
> > > > Auth-User: 1002
> > > > Auth-Realm: sip.isp.net (http://sip.isp.net)
> > > > MWI-Account: 1002 at sip.isp.net (mailto:1002 at sip.isp.net)
> > > >  
> > > > Total items returned: 1
> > > >  
> > > > =================================================================================================
> > > >  
> > > >  
> > > > So, there is ";transport=tcp" present and FreeSWITCH even says
> > > > "Registered(TCP)" even though it never
> > > > really sees any TCP packets from the client, or OpenSIPs.
> > > >  
> > > >  
> > > >  
> > > >  
> > > > Testcall:
> > > >  
> > > >  
> > > >  
> > > > --------------------------------------------------------------------------------------------------------------------------
> > > > freeswitch at internal> expand originate
> > > > ${sofia_contact(1002 at sip.isp.net (mailto:1002 at sip.isp.net))}&echo
> > > > -ERR RECOVERY_ON_TIMER_EXPIRE
> > > >  
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_ivr_originate.c:1961 Parsing
> > > > global variables
> > > > 2012-08-15 22:15:09.835230 [NOTICE] switch_channel.c:941 New Channel
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364
> > > > [089415ae-4a31-46f2-9042-81cb900a88be]
> > > > 2012-08-15 22:15:09.835230 [DEBUG] mod_sofia.c:4796
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State Change CS_NEW ->
> > > > CS_INIT
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_session.c:1229 Send
> > > > signal sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [BREAK]
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_state_machine.c:385
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Running State Change
> > > > CS_INIT
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_state_machine.c:424
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State INIT
> > > > 2012-08-15 22:15:09.835230 [DEBUG] mod_sofia.c:85
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 SOFIA INIT
> > > > 2012-08-15 22:15:09.835230 [DEBUG] sofia_glue.c:2580
> > > > sip:222.222.222.222;r2=on;lr;received=sip:17.17.17.235:52364;transport=tcp
> > > > Setting proxy route to sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364
> > > > 2012-08-15 22:15:09.835230 [DEBUG] sofia_glue.c:2609 Local SDP:
> > > > v=0
> > > > o=FreeSWITCH 1345044033 1345044034 IN IP4 13.13.13.66
> > > > s=FreeSWITCH
> > > > c=IN IP4 13.13.13.66
> > > > t=0 0
> > > > m=audio 17676 RTP/AVP 8 0 98 99 9 100 3 101 13
> > > > a=rtpmap:98 G7221/32000
> > > > a=fmtp:98 bitrate=48000
> > > > a=rtpmap:99 G7221/16000
> > > > a=fmtp:99 bitrate=32000
> > > > a=rtpmap:100 iLBC/8000
> > > > a=fmtp:100 mode=30
> > > > a=rtpmap:101 telephone-event/8000
> > > > a=fmtp:101 0-16
> > > > a=ptime:20
> > > > a=sendrecv
> > > > m=video 16724 RTP/AVP 34 102
> > > > a=rtpmap:34 H263/90000
> > > > a=rtpmap:102 H264/90000
> > > >  
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_session.c:924 Send
> > > > signal sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [BREAK]
> > > > 2012-08-15 22:15:09.835230 [DEBUG] mod_sofia.c:125
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State Change CS_INIT ->
> > > > CS_ROUTING
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_session.c:1229 Send
> > > > signal sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [BREAK]
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_state_machine.c:424
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State INIT going to sleep
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_state_machine.c:385
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Running State Change
> > > > CS_ROUTING
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_channel.c:1934
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Callstate Change DOWN ->
> > > > RINGING
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_state_machine.c:433
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State ROUTING
> > > > 2012-08-15 22:15:09.835230 [DEBUG] mod_sofia.c:148
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 SOFIA ROUTING
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_ivr_originate.c:67
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State Change CS_ROUTING
> > > > -> CS_CONSUME_MEDIA
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_session.c:1229 Send
> > > > signal sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [BREAK]
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_state_machine.c:433
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State ROUTING going to
> > > > sleep
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_state_machine.c:385
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Running State Change
> > > > CS_CONSUME_MEDIA
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_state_machine.c:452
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State CONSUME_MEDIA
> > > > 2012-08-15 22:15:09.835230 [DEBUG] switch_core_state_machine.c:452
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State CONSUME_MEDIA going
> > > > to sleep
> > > > 2012-08-15 22:15:09.835230 [DEBUG] sofia.c:6058 Channel
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 entering state [calling][0]
> > > > 2012-08-15 22:15:14.965051 [DEBUG] switch_core_session.c:924 Send
> > > > signal sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [BREAK]
> > > > 2012-08-15 22:15:14.965051 [DEBUG] switch_core_session.c:924 Send
> > > > signal sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [BREAK]
> > > > 2012-08-15 22:15:14.965051 [DEBUG] switch_core_session.c:924 Send
> > > > signal sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [BREAK]
> > > > 2012-08-15 22:15:14.965051 [DEBUG] sofia.c:6058 Channel
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 entering state
> > > > [terminated][408]
> > > > 2012-08-15 22:15:14.965051 [DEBUG] switch_channel.c:2914
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Callstate Change RINGING
> > > > -> HANGUP
> > > > 2012-08-15 22:15:14.965051 [NOTICE] sofia.c:6850 Hangup
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [CS_CONSUME_MEDIA]
> > > > [RECOVERY_ON_TIMER_EXPIRE]
> > > > 2012-08-15 22:15:14.965051 [DEBUG] switch_channel.c:2937 Send signal
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [KILL]
> > > > 2012-08-15 22:15:14.965051 [DEBUG] switch_core_session.c:1229 Send
> > > > signal sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [BREAK]
> > > > 2012-08-15 22:15:14.965051 [DEBUG] switch_core_state_machine.c:385
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Running State Change
> > > > CS_HANGUP
> > > > 2012-08-15 22:15:14.965051 [DEBUG] switch_core_state_machine.c:625
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State HANGUP
> > > > 2012-08-15 22:15:14.965051 [DEBUG] mod_sofia.c:474 Channel
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 hanging up, cause:
> > > > RECOVERY_ON_TIMER_EXPIRE
> > > > 2012-08-15 22:15:14.965051 [DEBUG] switch_ivr_originate.c:3458
> > > > Originate Resulted in Error Cause: 102 [RECOVERY_ON_TIMER_EXPIRE]
> > > > 2012-08-15 22:15:14.975212 [DEBUG] switch_core_state_machine.c:47
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 Standard HANGUP, cause:
> > > > RECOVERY_ON_TIMER_EXPIRE
> > > > 2012-08-15 22:15:14.975212 [DEBUG] switch_core_state_machine.c:625
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State HANGUP going to
> > > > sleep
> > > > 2012-08-15 22:15:14.975212 [DEBUG] switch_core_state_machine.c:416
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State Change CS_HANGUP ->
> > > > CS_REPORTING
> > > > 2012-08-15 22:15:14.975212 [DEBUG] switch_core_session.c:1229 Send
> > > > signal sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [BREAK]
> > > > 2012-08-15 22:15:14.975212 [DEBUG] switch_core_state_machine.c:385
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Running State Change
> > > > CS_REPORTING
> > > > 2012-08-15 22:15:14.975212 [DEBUG] switch_core_state_machine.c:685
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State REPORTING
> > > > 2012-08-15 22:15:15.035061 [DEBUG] switch_core_state_machine.c:79
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 Standard REPORTING, cause:
> > > > RECOVERY_ON_TIMER_EXPIRE
> > > > 2012-08-15 22:15:15.035061 [DEBUG] switch_core_state_machine.c:685
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State REPORTING going to
> > > > sleep
> > > > 2012-08-15 22:15:15.035061 [DEBUG] switch_core_state_machine.c:410
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State Change CS_REPORTING
> > > > -> CS_DESTROY
> > > > 2012-08-15 22:15:15.035061 [DEBUG] switch_core_session.c:1229 Send
> > > > signal sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [BREAK]
> > > > 2012-08-15 22:15:15.035061 [DEBUG] switch_core_session.c:1429 Session
> > > > 2380 (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Locked, Waiting on
> > > > external entities
> > > > 2012-08-15 22:15:15.035061 [NOTICE] switch_core_session.c:1447 Session
> > > > 2380 (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Ended
> > > > 2012-08-15 22:15:15.035061 [NOTICE] switch_core_session.c:1449 Close
> > > > Channel sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 [CS_DESTROY]
> > > > 2012-08-15 22:15:15.035061 [DEBUG] switch_core_state_machine.c:514
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Callstate Change HANGUP
> > > > -> DOWN
> > > > 2012-08-15 22:15:15.035061 [DEBUG] switch_core_state_machine.c:517
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) Running State Change
> > > > CS_DESTROY
> > > > 2012-08-15 22:15:15.035061 [DEBUG] switch_core_state_machine.c:527
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State DESTROY
> > > > 2012-08-15 22:15:15.035061 [DEBUG] mod_sofia.c:374
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 SOFIA DESTROY
> > > > 2012-08-15 22:15:15.035061 [DEBUG] switch_core_state_machine.c:86
> > > > sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364 Standard DESTROY
> > > > 2012-08-15 22:15:15.035061 [DEBUG] switch_core_state_machine.c:527
> > > > (sofia/internal/sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364) State DESTROY going to
> > > > sleep
> > > >  
> > > >  
> > > > --------------------------------------------------------------------------------------------------------------------------
> > > >  
> > > > so, somewhere in between, the call gets stuck.
> > > >  
> > > > Packets between FreeSWITCH<> OpenSIPs:
> > > >  
> > > > --------------------------------------------------------------------------------------------------------------------------
> > > > T(6) 13.13.13.66:49684 -> 222.222.222.222:5060 [A]
> > > > INVITE sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp
> > > > SIP/2.0.
> > > > Via: SIP/2.0/TCP 13.13.13.66;branch=z9hG4bK2806Htm7H3jXc.
> > > > Route:<sip:222.222.222.222;r2=on;lr;received=sip:17.17.17.235:52364>.
> > > > Max-Forwards: 70.
> > > > From: ""<sip:0000000000 at 13.13.13.66 (mailto:0000000000 at 13.13.13.66)>;tag=jceDZSa3y2Kej.
> > > > To:<sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp>.
> > > > Call-ID: c1087393-61b8-1230-2c88-0016367615cd.
> > > > CSeq: 32194790 INVITE.
> > > > Contact:<sip:mod_sofia at 13.13.13.66 (mailto:mod_sofia at 13.13.13.66):5060;transport=tcp>.
> > > > User-Agent: FreeSWITCH.
> > > > Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO,
> > > > REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE.
> > > > Supported: timer, precondition, path, replaces.
> > > > Allow-Events: talk, hold, conference, presence, dialog, line-seize,
> > > > call-info, sla, include-session-description, presence.winfo,
> > > > message-summary, refer.
> > > > Content-Type: application/sdp.
> > > > Content-Disposition: session.
> > > > Content-Length: 442.
> > > > X-FS-Support: update_display,send_info.
> > > > Remote-Party-ID:
> > > > <sip:0000000000 at 13.13.13.66 (mailto:0000000000 at 13.13.13.66)>;party=calling;screen=yes;privacy=off.
> > > > .
> > > > v=0.
> > > > o=FreeSWITCH 1345044033 1345044034 IN IP4 13.13.13.66.
> > > > s=FreeSWITCH.
> > > > c=IN IP4 13.13.13.66.
> > > > t=0 0.
> > > > m=audio 17676 RTP/AVP 8 0 98 99 9 100 3 101 13.
> > > > a=rtpmap:98 G7221/32000.
> > > > a=fmtp:98 bitrate=48000.
> > > > a=rtpmap:99 G7221/16000.
> > > > a=fmtp:99 bitrate=32000.
> > > > a=rtpmap:100 iLBC/8000.
> > > > a=fmtp:100 mode=30.
> > > > a=rtpmap:101 telephone-event/8000.
> > > > a=fmtp:101 0-16.
> > > > a=ptime:20.
> > > > m=video 16724 RTP/AVP 34 102.
> > > > a=rtpmap:34 H263/90000.
> > > >  
> > > > T(6) 222.222.222.222:5060 -> 13.13.13.66:49684 [AP]
> > > > SIP/2.0 100 Giving a try.
> > > > Via: SIP/2.0/TCP 13.13.13.66;branch=z9hG4bK2806Htm7H3jXc.
> > > > From: ""<sip:0000000000 at 13.13.13.66 (mailto:0000000000 at 13.13.13.66)>;tag=jceDZSa3y2Kej.
> > > > To:<sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp>.
> > > > Call-ID: c1087393-61b8-1230-2c88-0016367615cd.
> > > > CSeq: 32194790 INVITE.
> > > > Content-Length: 0.
> > > > .
> > > >  
> > > >  
> > > > T(6) 222.222.222.222:5060 -> 13.13.13.66:49684 [AP]
> > > > SIP/2.0 408 Request Timeout.
> > > > Via: SIP/2.0/TCP 13.13.13.66;branch=z9hG4bK2806Htm7H3jXc.
> > > > From: ""<sip:0000000000 at 13.13.13.66 (mailto:0000000000 at 13.13.13.66)>;tag=jceDZSa3y2Kej.
> > > >  
> > > > To:<sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp>;tag=a5cab58048d4dd8f69e59a1e9a450a6f-abe7.
> > > > Call-ID: c1087393-61b8-1230-2c88-0016367615cd.
> > > > CSeq: 32194790 INVITE.
> > > > Content-Length: 0.
> > > > .
> > > >  
> > > >  
> > > > T(6) 13.13.13.66:49684 -> 222.222.222.222:5060 [AP]
> > > > ACK sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp SIP/2.0.
> > > > Via: SIP/2.0/TCP 13.13.13.66;branch=z9hG4bK2806Htm7H3jXc.
> > > > Route:<sip:222.222.222.222;r2=on;lr;received=sip:17.17.17.235:52364>.
> > > > Max-Forwards: 70.
> > > > From: ""<sip:0000000000 at 13.13.13.66 (mailto:0000000000 at 13.13.13.66)>;tag=jceDZSa3y2Kej.
> > > >  
> > > > To:<sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp>;tag=a5cab58048d4dd8f69e59a1e9a450a6f-abe7.
> > > > Call-ID: c1087393-61b8-1230-2c88-0016367615cd.
> > > > CSeq: 32194790 ACK.
> > > > Content-Length: 0.
> > > >  
> > > >  
> > > > --------------------------------------------------------------------------------------------------------------------------
> > > >  
> > > >  
> > > > Packets between OpenSIPs<> Client
> > > >  
> > > > --------------------------------------------------------------------------------------------------------------------------
> > > > U(17) 222.222.222.222:5060 -> 17.17.17.235:52364
> > > > INVITE sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp
> > > > SIP/2.0.
> > > > Record-Route:<sip:222.222.222.222;lr;ftag=jceDZSa3y2Kej;did=97b.0e7f5fd3>.
> > > > Via: SIP/2.0/UDP 222.222.222.222;branch=z9hG4bK9728.d8c6c7c.0;i=f.
> > > > Via: SIP/2.0/TCP 13.13.13.66;branch=z9hG4bK2806Htm7H3jXc.
> > > > Max-Forwards: 30.
> > > > From: ""<sip:0000000000 at 13.13.13.66 (mailto:0000000000 at 13.13.13.66)>;tag=jceDZSa3y2Kej.
> > > > To:<sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp>.
> > > > Call-ID: c1087393-61b8-1230-2c88-0016367615cd.
> > > > CSeq: 32194790 INVITE.
> > > > Contact:<sip:mod_sofia at 13.13.13.66 (mailto:mod_sofia at 13.13.13.66):5060;transport=tcp>.
> > > > User-Agent: FreeSWITCH.
> > > > Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO,
> > > > REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE.
> > > > Supported: timer, precondition, path, replaces.
> > > > Allow-Events: talk, hold, conference, presence, dialog, line-seize,
> > > > call-info, sla, include-session-description, presence.winfo,
> > > > message-summary, refer.
> > > > Content-Type: application/sdp.
> > > > Content-Disposition: session.
> > > > Content-Length: 442.
> > > > X-FS-Support: update_display,send_info.
> > > > Remote-Party-ID:
> > > > <sip:0000000000 at 13.13.13.66 (mailto:0000000000 at 13.13.13.66)>;party=calling;screen=yes;privacy=off.
> > > > .
> > > > v=0.
> > > > o=FreeSWITCH 1345044033 1345044034 IN IP4 13.13.13.66.
> > > > s=FreeSWITCH.
> > > > c=IN IP4 13.13.13.66.
> > > > t=0 0.
> > > > m=audio 17676 RTP/AVP 8 0 98 99 9 100 3 101 13.
> > > > a=rtpmap:98 G7221/32000.
> > > > a=fmtp:98 bitrate=48000.
> > > > a=rtpmap:99 G7221/16000.
> > > > a=fmtp:99 bitrate=32000.
> > > > a=rtpmap:100 iLBC/8000.
> > > > a=fmtp:100 mode=30.
> > > > a=rtpmap:101 telephone-event/8000.
> > > > a=fmtp:101 0-16.
> > > > a=ptime:20.
> > > > m=video
> > > >  
> > > >  
> > > > --------------------------------------------------------------------------------------------------------------------------
> > > >  
> > > >  
> > > > So, even though OpenSIPs spoke UDP with FreeSWITCH at the REGISTER,
> > > > FreeSWITCH decides to speak TCP with OpenSIPS at the INVITE, because
> > > > it considers 1002 registered via TCP. So far so good...
> > > >  
> > > > But then OpenSIPs decides to speak UDP with the iPhone, that has been
> > > > registered via TCP and thus the firewalls won't allow
> > > > the UDP messages to pass.
> > > >  
> > > >  
> > > >  
> > > > --------------------------------------------------------------------------------------------------------------------------
> > > > Aug 15 22:16:48 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|start|received tcp request INVITE
> > > > sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp
> > > > Aug 15 22:16:48 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|log|source 13.13.13.66:49684
> > > > Aug 15 22:16:48 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|log|from
> > > > sip:0000000000 at 13.13.13.66 (mailto:0000000000 at 13.13.13.66)
> > > > Aug 15 22:16:48 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|log|to
> > > > sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp
> > > > Aug 15 22:16:48 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|log|originated from internal
> > > > sources
> > > > Aug 15 22:16:48 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|log|added this server to the
> > > > route set
> > > > Aug 15 22:16:48 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|pass|17.17.17.235:52364
> > > > Aug 15 22:16:53 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|start|received tcp request ACK
> > > > sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp
> > > > Aug 15 22:16:53 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|log|source 13.13.13.66:49684
> > > > Aug 15 22:16:53 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|log|from
> > > > sip:0000000000 at 13.13.13.66 (mailto:0000000000 at 13.13.13.66)
> > > > Aug 15 22:16:53 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|log|to
> > > > sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52364;rinstance=8AC2D8C4;transport=tcp
> > > > Aug 15 22:16:53 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|log|originated from internal
> > > > sources
> > > > Aug 15 22:16:53 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|log|forwarding based on the route
> > > > set
> > > > Aug 15 22:16:53 pbxlb1 opensips[17018]:
> > > > c1087393-61b8-1230-2c88-0016367615cd|pass|17.17.17.235:52364
> > > >  
> > > > --------------------------------------------------------------------------------------------------------------------------
> > > >  
> > > > Strange enough: it still knows transport=tcp, so it _should_ be able
> > > > to send it out via TCP, shouldn't it?
> > > >  
> > > >  
> > > >  
> > > > Something else:
> > > >  
> > > > FreeSWITCH is sending Voicemail waiting notifications via UDP, even
> > > > though it knew to send TCP when doing the INVITE before....:
> > > > Those are being sent
> > > >  
> > > > FreeSWITCH<UDP> OpenSIPs<UDP> iPhone
> > > >  
> > > > which can't be successfull, since the NAT gateway and firewalls are
> > > > expecting TCP :
> > > >  
> > > >  
> > > >  
> > > > --------------------------------------------------------------------------------------------------------------------------
> > > > U(17) 13.13.13.66:5060 -> 222.222.222.222:5060
> > > > NOTIFY sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52347;rinstance=8AC2D8C4;transport=tcp
> > > > SIP/2.0.
> > > > Via: SIP/2.0/UDP 13.13.13.66;rport;branch=z9hG4bKvZXHgpDj0435K.
> > > > Route:<sip:222.222.222.222;r2=on;lr;received=sip:17.17.17.235:52347>.
> > > > Max-Forwards: 70.
> > > > From:<sip:1002 at sip.isp.net (mailto:1002 at sip.isp.net)>;tag=7a8va2373KpUB.
> > > > To:<sip:1002 at sip.isp.net (mailto:1002 at sip.isp.net)>.
> > > > Call-ID: 82f87795-61b5-1230-2c88-0016367615cd.
> > > > CSeq: 32194094 NOTIFY.
> > > > Contact:<sip:mod_sofia at 13.13.13.66 (mailto:mod_sofia at 13.13.13.66):5060>.
> > > > User-Agent: FreeSWITCH.
> > > > Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO,
> > > > REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE.
> > > > Supported: timer, precondition, path, replaces.
> > > > Event: message-summary.
> > > > Allow-Events: talk, hold, conference, presence, dialog, line-seize,
> > > > call-info, sla, include-session-description, presence.winfo,
> > > > message-summary, refer.
> > > > Subscription-State: terminated;reason=noresource.
> > > > Content-Type: application/simple-message-summary.
> > > > Content-Length: 77.
> > > > .
> > > > Messages-Waiting: no.
> > > > Message-Account: sip:1002 at sip.isp.net (mailto:1002 at sip.isp.net).
> > > > .
> > > >  
> > > >  
> > > > U(17) 222.222.222.222:5060 -> 17.17.17.235:52347
> > > > NOTIFY sip:1002 at 17.17.17.235 (mailto:1002 at 17.17.17.235):52347;rinstance=8AC2D8C4;transport=tcp
> > > > SIP/2.0.
> > > > Record-Route:<sip:222.222.222.222;lr;ftag=7a8va2373KpUB>.
> > > > Via: SIP/2.0/UDP 222.222.222.222;branch=z9hG4bKa602.b40dc823.0.
> > > > Via: SIP/2.0/UDP
> > > > 13.13.13.66;received=13.13.13.66;rport=5060;branch=z9hG4bKvZXHgpDj0435K.
> > > > Max-Forwards: 30.
> > > > From:<sip:1002 at sip.isp.net (mailto:1002 at sip.isp.net)>;tag=7a8va2373KpUB.
> > > > To:<sip:1002 at sip.isp.net (mailto:1002 at sip.isp.net)>.
> > > > Call-ID: 82f87795-61b5-1230-2c88-0016367615cd.
> > > > CSeq: 32194094 NOTIFY.
> > > > Contact:<sip:mod_sofia at 13.13.13.66 (mailto:mod_sofia at 13.13.13.66):5060>.
> > > > User-Agent: FreeSWITCH.
> > > > Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO,
> > > > REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE.
> > > > Supported: timer, precondition, path, replaces.
> > > > Event: message-summary.
> > > > Allow-Events: talk, hold, conference, presence, dialog, line-seize,
> > > > call-info, sla, include-session-description, presence.winfo,
> > > > message-summary, refer.
> > > > Subscription-State: terminated;reason=noresource.
> > > > Content-Type: application/simple-message-summary.
> > > > Content-Length: 77.
> > > > .
> > > > Messages-Waiting: no.
> > > > Message-Account: sip:1002 at sip.isp.net (mailto:1002 at sip.isp.net).
> > > >  
> > > >  
> > > > U(17) 222.222.222.222:5060 -> 13.13.13.66:5060
> > > > SIP/2.0 408 Request Timeout.
> > > > Via: SIP/2.0/UDP
> > > > 13.13.13.66;received=13.13.13.66;rport=5060;branch=z9hG4bKvZXHgpDj0435K.
> > > > From:<sip:1002 at sip.isp.net (mailto:1002 at sip.isp.net)>;tag=7a8va2373KpUB.
> > > > To:<sip:1002 at sip.isp.net (mailto:1002 at sip.isp.net)>;tag=a5cab58048d4dd8f69e59a1e9a450a6f-5d71.
> > > > Call-ID: 82f87795-61b5-1230-2c88-0016367615cd.
> > > > CSeq: 32194094 NOTIFY.
> > > > Content-Length: 0.
> > > >  
> > > >  
> > > > --------------------------------------------------------------------------------------------------------------------------
> > > >  
> > > >  
> > > >  
> > > >  
> > > >  
> > > >  
> > > > # opensips -V
> > > > version: opensips 1.8.0-tls (x86_64/linux)
> > > > flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, DISABLE_NAGLE,
> > > > USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC,
> > > > FAST_LOCK-ADAPTIVE_WAIT
> > > > ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
> > > > MAX_URI_SIZE 1024, BUF_SIZE 65535
> > > > poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
> > > > svnrevision: 2:9124
> > > > @(#) $Id: main.c 8772 2012-03-08 11:16:13Z bogdan_iancu $
> > > > main.c compiled on 17:31:12 Jul 2 2012 with gcc 4.6
> > > >  
> > > >  
> > > >  
> > > >  
> > > >  
> > > >  
> > > >  
> > > > To be clear on this: I need to support all three protocols, UDP, TCP
> > > > and TLS between client and OpenSIPs. So I can't do any static
> > > > packet manipulation, it should be as dynamic as possible.
> > > >  
> > > >  
> > > >  
> > > > I'd really appreciate any hint in the right direction!
> > > >  
> > > >  
> > > > Thanks for your time and wisdom,
> > > >  
> > > > Johannes
> > > >  
> > > > _______________________________________________
> > > > Users mailing list
> > > > Users at lists.opensips.org (mailto:Users at lists.opensips.org)
> > > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> > >  
> > >  
> > >  
> > >  
> > >  
> > > _______________________________________________
> > > Users mailing list
> > > Users at lists.opensips.org (mailto:Users at lists.opensips.org)
> > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >  
>  






More information about the Users mailing list