[Freeswitch-users] FS is not suitable for MESSAGE, is it?
Iñaki Baz Castillo
ibc at aliax.net
Wed Nov 19 04:30:56 PST 2008
2008/11/19 Brian West <brian at freeswitch.org>:
> You're not fully understanding FreeSWITCH yet... You also have to catch
> this scenario in the dialplan.
> <extension name="external_sip_uri" continue="true">
> <condition field="source" expression="mod_sofia"/>
> <condition field="${domain_exists(${sip_req_host})}"
> expression="true">
> <anti-action application="bridge"
> data="sofia/internal/${sip_to_uri}"/>
> </condition>
> </extension>
> Something like that would work and its commented out in the defaults.
> Remember we aren't a proxy. So your phone is sending the invite directed
> at FreeSWITCH looking for bob in the context and since it can't find it...
> 404 not found. The above example checks if the sip_req_host is a local
> domain.. if not then lets send it out.
Thanks, but I still don't understand why I don't get a 404 when I send
a MESSAGE to an external user. I understand this is a B2BUA, and AFAIF
the behaviour is:
1) Transparent B2BUA for INVITE (no PlayBack, announce...). Call success:
1000 (dialog 1) FS (dialog 2) 1001
INVITE --------------->
INVITE --------------->
<------------------- 200
<------------------- 200
ACK ------------------>
ACK ------------------>
2) Transparent B2BUA for INVITE (no PlayBack, announce...). Call NO success:
1000 (dialog 1) FS (dialog 2) 1001
INVITE --------------->
INVITE --------------->
<------------------- 486
<------------------- 486
ACK ------------------>
ACK ------------------>
3) Transparent B2BUA for MESSAGE. Success:
1000 (leg 1) FS (leg 2) 1001
MESSAGE ------------>
MESSAGE -------->
<------------------- 200
<------------------- 200
4) Transparent B2BUA for MESSAGE. NO Success:
1000 (leg 1) FS (leg 2) 1001
MESSAGE ------------>
MESSAGE -------->
<------------------- 4XX
<------------------- 4XX
But it seems that FS always replies 200 to the MESSAGE in leg A even
if FS is not capable of delivering it to a remote destination.
In my previous mail, when I send a MESSAGE to an external user, FS
accepts the MESSAGE and replies directly 200 OK, so the user expects
the MESSAGE has been received by the *remote* user (the user sending
the MESSAGE doesn't care if FS is a pure SIP proxy or a B2BUA).
> c) MESSAGE between internal users:
> - 1000 sends MESSAGE to 1001
> - FS ***doesn't** ask for authentication <---- !!!!!!!
> - FS replies 200 OK directly
> - FS sends the MESSAGE to 1001
> - 1001 replies 200 OK to FS
>
> <param name="auth-all-packets" value="true"/>
Great! Thanks.
> d) MESSAGE to external user:
> - 1000 sends MESSAGE to sip:bob at external_domain.com
> - FS ***doesn't** ask for authentication <---- !!!!!!!
> - FS replies 200 OK directly
> - FS ***doesn't*** send the MESSAGE to the destination user.
>
> To route you must use the sip+user at domain.com to route this stuff properly
> since we can bridge various technologies together.
Sorry, is it a typo and you mean "sip:user at domain.com"?
> If you search the mailing list Mike Jerris explained this in detail about a
> week or so ago.
I will search for it, thanks a lot.
--
Iñaki Baz Castillo
<ibc at aliax.net>
More information about the FreeSWITCH-users
mailing list