Hi all,
Is there any function in openser that selects the transport protocol (TCP or UDP) according to the message size? E.g. if the message going out is bigger than MTU, use TCP... or does the script writer have to take this into account every time a relaying function is called? Also, in this second case, is the actual outgoing message size available in the script (i.e. after lumps are applied)?
Thanks in advance,
JF
Hi,
no, there is no way to figure out the size of the outgoing package. The only automatic protocol selection is via NSPTR records (if the target has such records) - please see the SIP location for this.
also you can choose the proto via the script.
regards, bogdan
JF wrote:
Hi all,
Is there any function in openser that selects the transport protocol (TCP or UDP) according to the message size? E.g. if the message going out is bigger than MTU, use TCP... or does the script writer have to take this into account every time a relaying function is called? Also, in this second case, is the actual outgoing message size available in the script (i.e. after lumps are applied)?
Thanks in advance,
JF
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Thanks for your answer.
This is a real problem when there are several SIP hops adding Vias and Record-Routes, especially with INVITEs carrying SDPs as large as 700 bytes... Messages easily grow bigger than the MTU. Is there a recommended way of handling this using openser? Anyone else facing this kind of problems? The safest way is to use always TCP...
JF
On 5/10/06, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi,
no, there is no way to figure out the size of the outgoing package. The only automatic protocol selection is via NSPTR records (if the target has such records) - please see the SIP location for this.
also you can choose the proto via the script.
regards, bogdan
JF wrote:
Hi all,
Is there any function in openser that selects the transport protocol (TCP or UDP) according to the message size? E.g. if the message going out is bigger than MTU, use TCP... or does the script writer have to take this into account every time a relaying function is called? Also, in this second case, is the actual outgoing message size available in the script (i.e. after lumps are applied)?
Thanks in advance,
JF
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Also, we cannot use the t_relay() function with no params if we want to force transport proto, we have to use t_relay("[proto:]host[:port]"), and specify a host in the script. Am I right? Is there another way to force the proto?
Thanks in advance.
JF
On 5/11/06, JF jfkavaka@gmail.com wrote:
Thanks for your answer.
This is a real problem when there are several SIP hops adding Vias and Record-Routes, especially with INVITEs carrying SDPs as large as 700 bytes... Messages easily grow bigger than the MTU. Is there a recommended way of handling this using openser? Anyone else facing this kind of problems? The safest way is to use always TCP...
JF
On 5/10/06, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi,
no, there is no way to figure out the size of the outgoing package. The only automatic protocol selection is via NSPTR records (if the target has such records) - please see the SIP location for this.
also you can choose the proto via the script.
regards, bogdan
JF wrote:
Hi all,
Is there any function in openser that selects the transport protocol (TCP or UDP) according to the message size? E.g. if the message going out is bigger than MTU, use TCP... or does the script writer have to take this into account every time a relaying function is called? Also, in this second case, is the actual outgoing message size available in the script (i.e. after lumps are applied)?
Thanks in advance,
JF
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Answering myself... I guess the only available way is through NAPTR lookup.
JF
On 5/11/06, JF jfkavaka@gmail.com wrote:
Also, we cannot use the t_relay() function with no params if we want to force transport proto, we have to use t_relay("[proto:]host[:port]"), and specify a host in the script. Am I right? Is there another way to force the proto?
Thanks in advance.
JF
On 5/11/06, JF jfkavaka@gmail.com wrote:
Thanks for your answer.
This is a real problem when there are several SIP hops adding Vias and Record-Routes, especially with INVITEs carrying SDPs as large as 700 bytes... Messages easily grow bigger than the MTU. Is there a recommended way of handling this using openser? Anyone else facing this kind of problems? The safest way is to use always TCP...
JF
On 5/10/06, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi,
no, there is no way to figure out the size of the outgoing package. The only automatic protocol selection is via NSPTR records (if the target has such records) - please see the SIP location for this.
also you can choose the proto via the script.
regards, bogdan
JF wrote:
Hi all,
Is there any function in openser that selects the transport protocol (TCP or UDP) according to the message size? E.g. if the message going out is bigger than MTU, use TCP... or does the script writer have to take this into account every time a relaying function is called? Also, in this second case, is the actual outgoing message size available in the script (i.e. after lumps are applied)?
Thanks in advance,
JF
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
an alternative will be just to append the "transport=tcp" parameter to RURI or DST_URI if you do not want to change the RURI. see http://openser.org/docs/modules/1.1.x/uri.html#AEN118
regards, bogdan
JF wrote:
Also, we cannot use the t_relay() function with no params if we want to force transport proto, we have to use t_relay("[proto:]host[:port]"), and specify a host in the script. Am I right? Is there another way to force the proto?
Thanks in advance.
JF
On 5/11/06, JF jfkavaka@gmail.com wrote:
Thanks for your answer.
This is a real problem when there are several SIP hops adding Vias and Record-Routes, especially with INVITEs carrying SDPs as large as 700 bytes... Messages easily grow bigger than the MTU. Is there a recommended way of handling this using openser? Anyone else facing this kind of problems? The safest way is to use always TCP...
JF
On 5/10/06, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi,
no, there is no way to figure out the size of the outgoing package.
The
only automatic protocol selection is via NSPTR records (if the target has such records) - please see the SIP location for this.
also you can choose the proto via the script.
regards, bogdan
JF wrote:
Hi all,
Is there any function in openser that selects the transport protocol (TCP or UDP) according to the message size? E.g. if the message
going
out is bigger than MTU, use TCP... or does the script writer have to take this into account every time a relaying function is called? Also, in this second case, is the actual outgoing message size available in the script (i.e. after lumps are applied)?
Thanks in advance,
JF
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Thanks, this did the trick! I had to add msg:len checks whenever t_relay is called. When incoming request is larger than X (e.g. 1300) bytes we force sending over TCP so that no UDP fragmentation occurs. Wouldn't it make sense to handle this automatically inside t_relay? or via a modparam such as "force_tcp_size_limit"...
JF
On 5/11/06, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
an alternative will be just to append the "transport=tcp" parameter to RURI or DST_URI if you do not want to change the RURI. see http://openser.org/docs/modules/1.1.x/uri.html#AEN118
regards, bogdan
JF wrote:
Also, we cannot use the t_relay() function with no params if we want to force transport proto, we have to use t_relay("[proto:]host[:port]"), and specify a host in the script. Am I right? Is there another way to force the proto?
Thanks in advance.
JF
On 5/11/06, JF jfkavaka@gmail.com wrote:
Thanks for your answer.
This is a real problem when there are several SIP hops adding Vias and Record-Routes, especially with INVITEs carrying SDPs as large as 700 bytes... Messages easily grow bigger than the MTU. Is there a recommended way of handling this using openser? Anyone else facing this kind of problems? The safest way is to use always TCP...
JF
On 5/10/06, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi,
no, there is no way to figure out the size of the outgoing package.
The
only automatic protocol selection is via NSPTR records (if the target has such records) - please see the SIP location for this.
also you can choose the proto via the script.
regards, bogdan
JF wrote:
Hi all,
Is there any function in openser that selects the transport protocol (TCP or UDP) according to the message size? E.g. if the message
going
out is bigger than MTU, use TCP... or does the script writer have to take this into account every time a relaying function is called? Also, in this second case, is the actual outgoing message size available in the script (i.e. after lumps are applied)?
Thanks in advance,
JF
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Hi,
t_relay should stick only to relaying, without any intelligence for where and how - this should be in the script.
regards, bogdan
JF wrote:
Thanks, this did the trick! I had to add msg:len checks whenever t_relay is called. When incoming request is larger than X (e.g. 1300) bytes we force sending over TCP so that no UDP fragmentation occurs. Wouldn't it make sense to handle this automatically inside t_relay? or via a modparam such as "force_tcp_size_limit"...
JF
On 5/11/06, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
an alternative will be just to append the "transport=tcp" parameter to RURI or DST_URI if you do not want to change the RURI. see http://openser.org/docs/modules/1.1.x/uri.html#AEN118
regards, bogdan
JF wrote:
Also, we cannot use the t_relay() function with no params if we want to force transport proto, we have to use t_relay("[proto:]host[:port]"), and specify a host in the script. Am I right? Is there another way to force the proto?
Thanks in advance.
JF
On 5/11/06, JF jfkavaka@gmail.com wrote:
Thanks for your answer.
This is a real problem when there are several SIP hops adding Vias
and
Record-Routes, especially with INVITEs carrying SDPs as large as 700 bytes... Messages easily grow bigger than the MTU. Is there a recommended way of handling this using openser? Anyone
else
facing this kind of problems? The safest way is to use always TCP...
JF
On 5/10/06, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi,
no, there is no way to figure out the size of the outgoing package.
The
only automatic protocol selection is via NSPTR records (if the
target
has such records) - please see the SIP location for this.
also you can choose the proto via the script.
regards, bogdan
JF wrote:
Hi all,
Is there any function in openser that selects the transport
protocol
(TCP or UDP) according to the message size? E.g. if the message
going
out is bigger than MTU, use TCP... or does the script writer
have to
take this into account every time a relaying function is called? Also, in this second case, is the actual outgoing message size available in the script (i.e. after lumps are applied)?
Thanks in advance,
JF
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
If the package exceeds the MTU limit should be a problem - the TCP/IP stack must take care of UDP fragmentation. Of course, there are some crappy hardphones that never heard of such think :(.
regards, bogdan
JF wrote:
Thanks for your answer.
This is a real problem when there are several SIP hops adding Vias and Record-Routes, especially with INVITEs carrying SDPs as large as 700 bytes... Messages easily grow bigger than the MTU. Is there a recommended way of handling this using openser? Anyone else facing this kind of problems? The safest way is to use always TCP...
JF
On 5/10/06, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi,
no, there is no way to figure out the size of the outgoing package. The only automatic protocol selection is via NSPTR records (if the target has such records) - please see the SIP location for this.
also you can choose the proto via the script.
regards, bogdan
JF wrote:
Hi all,
Is there any function in openser that selects the transport protocol (TCP or UDP) according to the message size? E.g. if the message going out is bigger than MTU, use TCP... or does the script writer have to take this into account every time a relaying function is called? Also, in this second case, is the actual outgoing message size available in the script (i.e. after lumps are applied)?
Thanks in advance,
JF
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users