I think one of the most difficult ideas to grasp when someone migrates to FS from other soft-switches is the definition of endpoints (in the generic meaning of the word) i.e. other gateways that your FS gateway will exchange traffic with. From what I understood from the wiki : a user (directory) is an entitiy that defines our subscribers (with registration or not) a gateway is another VoIP gateway that we use to send traffic to (provider) and sometimes receive traffic from (correct me If I am wrong this far) Now, I have the following scenario : I have an FS box that will exhchange traffic with certain gateways. Sometimes a gateway will act as a client (customer) or a provider, depending on the traffic direction. 1st approach : The first plan I tried, was to use the directory to "define" these other gateways since they are clients. I turned off registrations in my SIP profile (because I don't need any), I wrote an xml file for each gateway in the directory with the appropriate cidr and that was it. I then realized that I could not use my definitions in the users directory so that I can send a call to that client. In order to do so, I had to define that particular IP as a gateway in my SIP profile <gateways> section. 2nd approach : I forgot all about the directory thing (after all I needed not any mailboxes or registrations) and tried to implement the same scenario by just using gateways. I declared the gateways in my SIP profile and was able to dial out to them just by using : <action application="bridge" data="sofia/gateway/<gw_name>/$1"/> which was fine. But when I got an inbound call from that gateway I realized (1) that I had to define this gateway in an acl and (2) the dialplan used (context) was always the inbound one since there is no way of telling a gateway which context to use when accepting a call. I found a way in the wiki that suggests using DIDs to accomplish that, but I find it this to be not a very elegant solution because I don't want to use prefixes or DIDs to accomplish my goal. I want to be able to define a gateway using a gateway name (label) of my choice and an IP address, so when I come to the point of having 100+ gateways i won't have to search wich DID to use for a new one. 3rd approach : Use a combination of the above. Declare a gateway that receives and sends traffic twice. Once as a user in the directory and once in the gateways section of my profile. Does all these sound correct to you? Am I missing something? Which approach is the best? Please send me your feedback. Inline comments would be ideal. -- ------------------------------------------- Apostolos Pantsiopoulos Kinetix Tele.com R & D email: regs@kinetix.gr -------------------------------------------
What you are doing is correct. In FS gateways only represent a set of credentials that the profile uses to authenticate to another sip UA The actual UA is the sofia profile and the gateways are assumed identities to deal with challenges. Also to manage everything from the same place, you can put the <gateways> tag inside the <user> tag in the directory then tell sofia to parse the whole domain for gateways in the profile in <domains> section of your sofia profile add <domain name="domain.com" parse="true"/> this will tell FS to open that domain in the user directory and check every user for <gateways> and parse them all. On Tue, Jan 13, 2009 at 10:45 AM, Apostolos Pantsiopoulos <regs@kinetix.gr>wrote:
I think one of the most difficult ideas to grasp when someone migrates to FS from other soft-switches is the definition of endpoints (in the generic meaning of the word) i.e. other gateways that your FS gateway will exchange traffic with. From what I understood from the wiki :
a user (directory) is an entitiy that defines our subscribers (with registration or not)
a gateway is another VoIP gateway that we use to send traffic to (provider) and sometimes receive traffic from
(correct me If I am wrong this far)
Now, I have the following scenario :
I have an FS box that will exhchange traffic with certain gateways. Sometimes a gateway will act as a client (customer) or a provider, depending on the traffic direction.
1st approach :
The first plan I tried, was to use the directory to "define" these other gateways since they are clients. I turned off registrations in my SIP profile (because I don't need any), I wrote an xml file for each gateway in the directory with the appropriate cidr and that was it.
I then realized that I could not use my definitions in the users directory so that I can send a call to that client. In order to do so, I had to define that particular IP as a gateway in my SIP profile <gateways> section.
2nd approach :
I forgot all about the directory thing (after all I needed not any mailboxes or registrations) and tried to implement the same scenario by just using gateways. I declared the gateways in my SIP profile and was able to dial out to them just by using :
<action application="bridge" data="sofia/gateway/<gw_name>/$1"/>
which was fine. But when I got an inbound call from that gateway I realized (1) that I had to define this gateway in an acl and (2) the dialplan used (context) was always the inbound one since there is no way of telling a gateway which context to use when accepting a call. I found a way in the wiki that suggests using DIDs to accomplish that, but I find it this to be not a very elegant solution because I don't want to use prefixes or DIDs to accomplish my goal. I want to be able to define a gateway using a gateway name (label) of my choice and an IP address, so when I come to the point of having 100+ gateways i won't have to search wich DID to use for a new one.
3rd approach :
Use a combination of the above. Declare a gateway that receives and sends traffic twice. Once as a user in the directory and once in the gateways section of my profile.
Does all these sound correct to you? Am I missing something? Which approach is the best? Please send me your feedback. Inline comments would be ideal.
-- ------------------------------------------- Apostolos Pantsiopoulos Kinetix Tele.com R & D email: regs@kinetix.gr -------------------------------------------
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
In the http://wiki.freeswitch.org/wiki/Clarification:gateways we can read : "What I gather from this is that if you only want certain extensions to be registered with your voip provider when a specific user registers with freeswitch you should define gateways in the directory section rather than in the sofia configuration. Conversely, if you always want an extension registered with a provider you would define the gateway as part of the sip profile." So If I understand the above statement correctly the gateways that are defined within a user tag are not necessarily the gateways of the specific user (i.e. he/she physically owns them) , but gateways that our FS may use to terminate calls of this specific user. What I also understand from the above statement is that these gateways get registered (or are generally accessible) only when that particular user registers to our FS. Is this correct? Anthony Minessale wrote:
What you are doing is correct.
In FS gateways only represent a set of credentials that the profile uses to authenticate to another sip UA The actual UA is the sofia profile and the gateways are assumed identities to deal with challenges.
Also to manage everything from the same place, you can put the <gateways> tag inside the <user> tag in the directory then tell sofia to parse the whole domain for gateways in the profile
in <domains> section of your sofia profile add <domain name="domain.com <http://domain.com>" parse="true"/>
this will tell FS to open that domain in the user directory and check every user for <gateways> and parse them all.
On Tue, Jan 13, 2009 at 10:45 AM, Apostolos Pantsiopoulos <regs@kinetix.gr <mailto:regs@kinetix.gr>> wrote:
I think one of the most difficult ideas to grasp when someone migrates to FS from other soft-switches is the definition of endpoints (in the generic meaning of the word) i.e. other gateways that your FS gateway will exchange traffic with. From what I understood from the wiki :
a user (directory) is an entitiy that defines our subscribers (with registration or not)
a gateway is another VoIP gateway that we use to send traffic to (provider) and sometimes receive traffic from
(correct me If I am wrong this far)
Now, I have the following scenario :
I have an FS box that will exhchange traffic with certain gateways. Sometimes a gateway will act as a client (customer) or a provider, depending on the traffic direction.
1st approach :
The first plan I tried, was to use the directory to "define" these other gateways since they are clients. I turned off registrations in my SIP profile (because I don't need any), I wrote an xml file for each gateway in the directory with the appropriate cidr and that was it.
I then realized that I could not use my definitions in the users directory so that I can send a call to that client. In order to do so, I had to define that particular IP as a gateway in my SIP profile <gateways> section.
2nd approach :
I forgot all about the directory thing (after all I needed not any mailboxes or registrations) and tried to implement the same scenario by just using gateways. I declared the gateways in my SIP profile and was able to dial out to them just by using :
<action application="bridge" data="sofia/gateway/<gw_name>/$1"/>
which was fine. But when I got an inbound call from that gateway I realized (1) that I had to define this gateway in an acl and (2) the dialplan used (context) was always the inbound one since there is no way of telling a gateway which context to use when accepting a call. I found a way in the wiki that suggests using DIDs to accomplish that, but I find it this to be not a very elegant solution because I don't want to use prefixes or DIDs to accomplish my goal. I want to be able to define a gateway using a gateway name (label) of my choice and an IP address, so when I come to the point of having 100+ gateways i won't have to search wich DID to use for a new one.
3rd approach :
Use a combination of the above. Declare a gateway that receives and sends traffic twice. Once as a user in the directory and once in the gateways section of my profile.
Does all these sound correct to you? Am I missing something? Which approach is the best? Please send me your feedback. Inline comments would be ideal.
-- ------------------------------------------- Apostolos Pantsiopoulos Kinetix Tele.com R & D email: regs@kinetix.gr <mailto:regs@kinetix.gr> -------------------------------------------
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org <mailto:Freeswitch-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/
AIM: anthm MSN:anthony_minessale@hotmail.com <mailto:MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com <mailto:PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net <http://irc.freenode.net> #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <mailto:sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 <http://iax:guest@conference.freeswitch.org/888> googletalk:conf+888@conference.freeswitch.org <mailto:googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400 ------------------------------------------------------------------------
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- ------------------------------------------- Apostolos Pantsiopoulos Kinetix Tele.com R & D email: regs@kinetix.gr -------------------------------------------
when you tell sofia to parse a domain and it finds gateways in a user the gateways belong to the sofia profile so there is no effective difference, the main reason for gateways in users is for a feature that allows you to register all gateways in a user when you get an inbound reg but there are other benefits in the form of where you manage your gateways etc. On Tue, Jan 13, 2009 at 11:42 AM, Apostolos Pantsiopoulos <regs@kinetix.gr>wrote:
In the http://wiki.freeswitch.org/wiki/Clarification:gateways we can read :
"What I gather from this is that if you only want certain extensions to be registered with your voip provider when a specific user registers with freeswitch you should define gateways in the directory section rather than in the sofia configuration. Conversely, if you always want an extension registered with a provider you would define the gateway as part of the sip profile."
So If I understand the above statement correctly the gateways that are defined within a user tag are not necessarily the gateways of the specific user (i.e. he/she physically owns them) , but gateways that our FS may use to terminate calls of this specific user.
What I also understand from the above statement is that these gateways get registered (or are generally accessible) only when that particular user
registers to our FS. Is this correct?
Anthony Minessale wrote:
What you are doing is correct.
In FS gateways only represent a set of credentials that the profile uses to authenticate to another sip UA The actual UA is the sofia profile and the gateways are assumed identities to deal with challenges.
Also to manage everything from the same place, you can put the <gateways> tag inside the <user> tag in the directory then tell sofia to parse the whole domain for gateways in the profile
in <domains> section of your sofia profile add <domain name="domain.com" parse="true"/>
this will tell FS to open that domain in the user directory and check every user for <gateways> and parse them all.
On Tue, Jan 13, 2009 at 10:45 AM, Apostolos Pantsiopoulos <regs@kinetix.gr
wrote:
I think one of the most difficult ideas to grasp when someone migrates to FS from other soft-switches is the definition of endpoints (in the generic meaning of the word) i.e. other gateways that your FS gateway will exchange traffic with. From what I understood from the wiki :
a user (directory) is an entitiy that defines our subscribers (with registration or not)
a gateway is another VoIP gateway that we use to send traffic to (provider) and sometimes receive traffic from
(correct me If I am wrong this far)
Now, I have the following scenario :
I have an FS box that will exhchange traffic with certain gateways. Sometimes a gateway will act as a client (customer) or a provider, depending on the traffic direction.
1st approach :
The first plan I tried, was to use the directory to "define" these other gateways since they are clients. I turned off registrations in my SIP profile (because I don't need any), I wrote an xml file for each gateway in the directory with the appropriate cidr and that was it.
I then realized that I could not use my definitions in the users directory so that I can send a call to that client. In order to do so, I had to define that particular IP as a gateway in my SIP profile <gateways> section.
2nd approach :
I forgot all about the directory thing (after all I needed not any mailboxes or registrations) and tried to implement the same scenario by just using gateways. I declared the gateways in my SIP profile and was able to dial out to them just by using :
<action application="bridge" data="sofia/gateway/<gw_name>/$1"/>
which was fine. But when I got an inbound call from that gateway I realized (1) that I had to define this gateway in an acl and (2) the dialplan used (context) was always the inbound one since there is no way of telling a gateway which context to use when accepting a call. I found a way in the wiki that suggests using DIDs to accomplish that, but I find it this to be not a very elegant solution because I don't want to use prefixes or DIDs to accomplish my goal. I want to be able to define a gateway using a gateway name (label) of my choice and an IP address, so when I come to the point of having 100+ gateways i won't have to search wich DID to use for a new one.
3rd approach :
Use a combination of the above. Declare a gateway that receives and sends traffic twice. Once as a user in the directory and once in the gateways section of my profile.
Does all these sound correct to you? Am I missing something? Which approach is the best? Please send me your feedback. Inline comments would be ideal.
-- ------------------------------------------- Apostolos Pantsiopoulos Kinetix Tele.com R & D email: regs@kinetix.gr -------------------------------------------
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
------------------------------
_______________________________________________ Freeswitch-users mailing listFreeswitch-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
-- ------------------------------------------- Apostolos Pantsiopoulos Kinetix Tele.com R & D email: regs@kinetix.gr -------------------------------------------
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
participants (2)
-
Anthony Minessale
-
Apostolos Pantsiopoulos