[Freeswitch-users] freeswitch as SBC and kamailio - no route
rod
kawarod at laposte.net
Fri Aug 28 22:56:22 PDT 2009
you are right for the regex. This is part of an old setup, correct with:
<extension name="PEER_01">
<condition field="${ROUTE_GW}" expression="PEER_01">
<action application="set" data="hangup_after_bridge=true"/>
Hristo Benev a écrit :
> Hello Rod,
>
> I did the change.
>
> Here is extract of console:
> -----------------------------------------------------------------------------------------
> variable_continue_on_fail: [true]
> variable_sip_h_X-ROUTE: [LOOKUP]
> variable_export_vars: [sip_h_X-ROUTE]
> variable_signal_bond: [a66d089a-93ee-11de-ab7a-094dff0ede20]
> variable_sip_redirect_contact_0: [sip:France at PEER_01]
> variable_sip_redirected_to: [sip:France at PEER_01]
> variable_sip_redirect_contact_user_0: [France] <-------------------------------------------
> variable_sip_redirect_contact_host_0: [PEER_01]
> variable_sip_redirect_dialstring_0: [sofia/internal/sip:France at PEER_01]
> variable_sip_redirect_dialstring: [sofia/internal/sip:France at PEER_01]
> variable_proto_specific_hangup_cause: [sip:503]
> variable_sip_hangup_phrase: [DNS Error]
> variable_originate_disposition: [NORMAL_TEMPORARY_FAILURE]
> variable_ROUTE_GW: [France]
> variable_AREA: [France]
> variable_current_application: [info]
> ------------------------------------------------------------------------------------------
> I have different value it is actually the description field as shown here:
>
> --------------------------------
> /opt/kamailio/sbin/kamctl cr show
> cr carrier names
> +----+---------+
> | id | carrier |
> +----+---------+
> | 1 | default |
> +----+---------+
> cr domain names
> +----+---------+
> | id | domain |
> +----+---------+
> | 1 | default |
> +----+---------+
> cr routes
> +----+---------+--------+-------------+-------+------+------+-------+--------------+----------------+----------------+-------------+
> | id | carrier | domain | scan_prefix | flags | mask | prob | strip | rewrite_host | rewrite_prefix | rewrite_suffix | description |
> +----+---------+--------+-------------+-------+------+------+-------+--------------+----------------+----------------+-------------+
> | 1 | 1 | 1 | 1000 | 0 | 0 | 1 | 0 | PEER_01 | | | France |
> +----+---------+--------+-------------+-------+------+------+-------+--------------+----------------+----------------+-------------+
> -----------------------------------------
>
> And here is what I have in kamailio:
> -------------------------------------------------------------------------------------
> ####### Routing Logic ########
>
>
> # main request routing logic
>
> route{
>
> if (!mf_process_maxfwd_header("10")) {
> sl_send_reply("483","Too Many Hops");
> exit;
> }
>
> t_check_trans();
>
> if ($rU==NULL) {
> # request with no Username in RURI
> sl_send_reply("484","Address Incomplete");
> exit;
> }
>
> # LOOKUP ROUTE TABLE WHEN ASKED BY HEADER: X-ROUTE:LOOKUP
> if (is_method("INVITE") && $hdr(X-ROUTE)=="LOOKUP"){
> if(!cr_route("default", "default", "$rU", "$rU", "call_id","$avp(s:route_desc)")){
> #xlog("ROUTING FAILED: no route found for $rU");
> sl_send_reply("604", "Unable to route this call");
> exit;
> } else {
> xlog("LOOKUP FOUND: $rd $avp(s:route_desc)");
> avp_pushto("$ru/username", "$avp(s:route_desc)");
> sl_send_reply("302", "$rd");
> exit;
> }
> }
> }
> ----------------------------------------------------------------------------------
>
> Another question...
> In that part of FreeSwitch dialplan.xml
>
> -----------------------------------
> <context name="ROUTING">
>
> <extension name="PEER_01">
> <condition field="${sip_h_X-ROUTE}" expression="PEER_01">
> <action application="set" data="hangup_after_bridge=true"/>
>
> -----------------------------------
>
> X-ROUTE maybe should be replaced with ROUTE_GW otherwise there is no way the regex is true.
>
>
> As for thanks - for sure by default they are also for the developers of both apps.
> I'm new in freeSwitch and/or Kamailio for now I'm still testing and learning so it will be nice to have something working to start with.
>
>
>
> >-------- Оригинално писмо --------
> >От: rod
> >Относно: Re: [Freeswitch-users] freeswitch as SBC and kamailio - no route
> >До: freeswitch-users at lists.freeswitch.org
> >Изпратено на: Петък, 2009, Август 28 09:54:00 EEST
>
> >Hello,
> >
> >the trace seems good.
> >If you check the answer from Kamailio, you'll see that Kamailio answers
> >with "302 PEER_01".
> >
> >As Michael Collins stated before, you can get the variable containing
> >"PEER_01", then this variable is stored in a custom variable.
> >
> >In your dialplan, may you please add:
> >
> >, just before the transfer line, eg:
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >Using application Info, you'll see on the console (or CDR) the list of
> >variables used for this call. You should see the content of
> >"${sip_redirect_contact_user_0}" that should contain the value
> >"PEER_01". Please check this and let me know.
> >
> >For the new configuration file, no problem for sharing. But as I wrote
> >on the wiki page, I worked on this setup cause LCR module was not
> >available when I start working on FS, nor I'm a good programmer to write
> >a server side HTTP script (used by xml_curl) that could scale to my needs.
> >
> >I enhanced a bit this configuration with support for fallback routing,
> >almost realtime graph (every minutes using www.cacti.net and some
> >functions in FS like limit_hash) of number of concurrent calls per AREA,
> >PEER...
> >
> >Thanks for "the good tutorial", but don't forget the dev team who did
> >this great product ;-)
> >
> >rod.
> >
> >
> >Hristo Benev a écrit :
> >> I assume you asked for port 5062 since I do not have any traffic on 5060 (I have one IP and my internal sip port is 5090 and external 5080).
> >>
> >> If you need additional info I'll provide it.
> >>
> >> Here is trace:
> >>
> >> ngrep -d any -nn -i '1000' port 5062 -W byline
> >> interface: any
> >> filter: (ip or ip6) and ( port 5062 )
> >> match: 1000
> >> #
> >> U 10.10.10.10:5090 -> 127.0.0.1:5062
> >> INVITE sip:1000 at 127.0.0.1:5062 SIP/2.0.
> >> Via: SIP/2.0/UDP 10.10.10.10:5090;rport;branch=z9hG4bKtrDyU1US5X5tj.
> >> Max-Forwards: 69.
> >> From: "Extension 1001" ;tag=978g69jZaFpBD.
> >> To: .
> >> Call-ID: 7f0eff2d-0dbf-122d-bfb0-612c8433bc7c.
> >> CSeq: 119574771 INVITE.
> >> Contact: .
> >> User-Agent: FreeSWITCH-mod_sofia/1.0.4-exported.
> >> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH.
> >> Supported: timer, precondition, path, replaces.
> >> Allow-Events: talk, presence, dialog, call-info, sla, include-session-description, presence.winfo, message-summary, refer.
> >> Content-Type: application/sdp.
> >> Content-Disposition: session.
> >> Content-Length: 429.
> >> X-ROUTE: LOOKUP.
> >> Remote-Party-ID: "Extension 1001" ;party=calling;screen=yes;privacy=off.
> >> .
> >> v=0.
> >> o=FreeSWITCH 1251355692 1251355693 IN IP4 10.10.10.10.
> >> s=FreeSWITCH.
> >> c=IN IP4 10.10.10.10.
> >> t=0 0.
> >> m=audio 30522 RTP/AVP 0 115 107 9 8 3 101 13.
> >> a=rtpmap:0 PCMU/8000.
> >> a=rtpmap:115 G7221/32000.
> >> a=fmtp:115 bitrate=48000.
> >> a=rtpmap:107 G7221/16000.
> >> a=fmtp:107 bitrate=32000.
> >> a=rtpmap:9 G722/8000.
> >> a=rtpmap:8 PCMA/8000.
> >> a=rtpmap:3 GSM/8000.
> >> a=rtpmap:101 telephone-event/8000.
> >> a=fmtp:101 0-16.
> >> a=rtpmap:13 CN/8000.
> >> a=ptime:20.
> >>
> >> #
> >> U 127.0.0.1:5062 -> 10.10.10.10:5090
> >> SIP/2.0 302 PEER_01.
> >> Via: SIP/2.0/UDP 10.10.10.10:5090;rport=5090;branch=z9hG4bKtrDyU1US5X5tj.
> >> From: "Extension 1001" ;tag=978g69jZaFpBD.
> >> To: ;tag=458fb4012080e656b6742c09466dabcd.31c8.
> >> Call-ID: 7f0eff2d-0dbf-122d-bfb0-612c8433bc7c.
> >> CSeq: 119574771 INVITE.
> >> Contact: sip:France at PEER_01.
> >> Server: Kamailio (1.5.2-notls (i386/linux)).
> >> Content-Length: 0.
> >> .
> >>
> >> #
> >> U 10.10.10.10:5090 -> 127.0.0.1:5062
> >> ACK sip:1000 at 127.0.0.1:5062 SIP/2.0.
> >> Via: SIP/2.0/UDP 10.10.10.10:5090;rport;branch=z9hG4bKtrDyU1US5X5tj.
> >> Max-Forwards: 69.
> >> From: "Extension 1001" ;tag=978g69jZaFpBD.
> >> To: ;tag=458fb4012080e656b6742c09466dabcd.31c8.
> >> Call-ID: 7f0eff2d-0dbf-122d-bfb0-612c8433bc7c.
> >> CSeq: 119574771 ACK.
> >> Content-Length: 0.
> >> .
> >>
> >>
> >>
> >>
> >>
> >> >-------- Оригинално писмо --------
> >> >От: Hristo Benev
> >> >Относно: Re: [Freeswitch-users] freeswitch as SBC and kamailio - no route
> >> >До: freeswitch-users at lists.freeswitch.org
> >> >Изпратено на: Четвъртък, 2009, Август 27 14:58:53 EEST
> >>
> >> >
> >> >Bojnour,
> >> >
> >> >I'll send a trace ASAP.
> >> >
> >> >What I see is that SIP header does not get updated -> regex is not true then it does not go to the peer. (I assume that is coming from kamailio config)
> >> >
> >> >I'm really interested to see the updates of the project.
> >> >
> >> >Thank you for the good tutorial.
> >> >
> >> >Hristo
> >> >
> >> >
> >> > >-------- Оригинално писмо --------
> >> > >От: rod
> >> > >Относно: Re: [Freeswitch-users] freeswitch as SBC and kamailio - no route
> >> > >До: freeswitch-users at lists.freeswitch.org
> >> > >Изпратено на: Четвъртък, 2009, Август 27 09:41:05 EEST
> >> >
> >> > >Hi Hristo,
> >> > >
> >> > >I'm the author of this setup and wiki page. I did a lot of modifications
> >> > >on this setup (alternative routing if failure essentially) but don't
> >> > >have too much time to update the wiki.
> >> > >
> >> > >May you please send me an ngrep trace when you call 1000:
> >> > >
> >> > >ngrep -d any -nn -i '1000' port 5060 -W byline
> >> > >
> >> > >I will check what's happening.
> >> > >Do you have an entry for 1000 in your mysql database ?
> >> > >
> >> > >regards,
> >> > >rod
> >> > >
> >> > >Hristo Benev a écrit :
> >> > >>
> >> > >> It seems that the problem is on kamailio configuration.
> >> > >> Will ask on their list.
> >> > >>
> >> > >> But to test i try to connect to my asterisk server and i receive 407 proxy authentication required.
> >> > >>
> >> > >> I have it setup as friend in asterisk, but still ???
> >> > >>
> >> > >> Any ideas?
> >> > >>
> >> > >> Thanks,
> >> > >>
> >> > >>
> >> > >> >-------- Оригинално писмо --------
> >> > >> >От: Hristo Benev
> >> > >> >Относно: Re: [Freeswitch-users] freeswitch as SBC and kamailio - no route
> >> > >> >До: freeswitch-users at lists.freeswitch.org
> >> > >> >Изпратено на: Сряда, 2009, Август 26 22:02:13 EEST
> >> > >>
> >> > >> > I think that the problem is here:
> >> > >> >-------------------------
> >> > >> >2009-08-26 22:56:52.725878 [INFO] mod_dialplan_xml.c:315 Processing 1001->1000 in context ROUTING
> >> > >> >Dialplan: sofia/internal/1001 at 209.71.254.33 parsing [ROUTING->PEER_01] continue=false
> >> > >> >Dialplan: sofia/internal/1001 at 209.71.254.33 Regex (FAIL) [PEER_01] ${sip_h_X-ROUTE}(LOOKUP) =~ /PEER_01/ break=on-false
> >> > >> >2009-08-26 22:56:52.728289 [INFO] switch_core_state_machine.c:136 No Route, Aborting
> >> > >> >--------------------------
> >> > >> >
> >> > >> >Actually Regex FAIL
> >> > >> >
> >> > >> >I'm not familiar, but is this stating that ${sip_h_X-ROUTE} should be PEER_01 for success?
> >> > >> >Here is my default.xml:
> >> > >> >----------------
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> >--------------------------
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > >-------- Оригинално писмо --------
> >> > >> > >От: Brian West
> >> > >> > >Относно: Re: [Freeswitch-users] freeswitch as SBC and kamailio - no route
> >> > >> > >До: freeswitch-users at lists.freeswitch.org
> >> > >> > >Изпратено на: Сряда, 2009, Август 26 19:47:37 EEST
> >> > >> >
> >> > >> > >We do not blindly follow 302's as that is a dangerous thing to do.
> >> > >> >You have to process all 302's in the dialplan.
> >> > >> >Set this on your sofia profile
> >> > >> >You can set these variables sip_redirect_profile,
> >> > >> >sip_redirect_context,
> >> > >> >sip_redirect_dialplan,
> >> > >> >When a redirect happens you get these variables - sip_redirect_contact_%d,
> >> > >> >sip_redirected_to,
> >> > >> >sip_redirect_contact_user_%d,
> >> > >> >sip_redirect_contact_host_%d,
> >> > >> >sip_redirect_contact_params_%d,
> >> > >> >sip_redirect_dialstring_%d,
> >> > >> >sip_redirect_dialstring,
> >> > >> >sip_redirected_byThen its up to you to process the redirect in your dialplan, If you don't set the
> >> > >> >sip_redirect_context then it'll default to redirected context and XML as the dialplan./bOn Aug 26, 2009, at 11:37 AM, Hristo Benev wrote:HelloI followed the tutorialhttp://wiki.freeswitch.org/wiki/SBC_SetupI have following problem when I dial 1000 Kamalio reports 302, but freeswitch does not routeWhere to look for problems?
> >> > >> > >
> >> > >> >
> >> > >> >_______________________________________________
> >> > >> >FreeSWITCH-users mailing list
> >> > >> >FreeSWITCH-users at lists.freeswitch.org
> >> > >> >http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> >> > >> >UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> >> > >> >http://www.freeswitch.org
> >> > >> >
> >> > >>
> >> > >> _______________________________________________
> >> > >> FreeSWITCH-users mailing list
> >> > >> FreeSWITCH-users at lists.freeswitch.org
> >> > >> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> >> > >> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> >> > >> http://www.freeswitch.org
> >> > >>
> >> > >
> >> > >_______________________________________________
> >> > >FreeSWITCH-users mailing list
> >> > >FreeSWITCH-users at lists.freeswitch.org
> >> > >http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> >> > >UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> >> > >http://www.freeswitch.org
> >> > >
> >> >
> >> >_______________________________________________
> >> >FreeSWITCH-users mailing list
> >> >FreeSWITCH-users at lists.freeswitch.org
> >> >http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> >> >UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> >> >http://www.freeswitch.org
> >> >
> >>
> >> _______________________________________________
> >> FreeSWITCH-users mailing list
> >> FreeSWITCH-users at lists.freeswitch.org
> >> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> >> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> >> http://www.freeswitch.org
> >>
> >
> >_______________________________________________
> >FreeSWITCH-users mailing list
> >FreeSWITCH-users at lists.freeswitch.org
> >http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> >UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> >http://www.freeswitch.org
> >
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
More information about the FreeSWITCH-users
mailing list