Dear friends,
I am working on a program on Kamailio and rtpengine proxy. I am wondering whether can I set Kamailio and rtpengine daemon on different physical machines. For example, I set Kamailio on a machine with IP address:10.109.247.80, and launch rtpengine daemon on another machine with interface parameter as 10.109.247.90 and ng port 7723. I set parameter in Kamailio.cfg with modparam(“rtpengine”, “rtpengine_sock”, “udp:10.109.247.90:7723”).
Unfortunately I got debug message like this:
ERROR: rtpengine [rtpengine.c:1710]: send_rtpp_command(): can't send command to a RTP proxy
ERROR: rtpengine [rtpengine.c:1746]: send_rtpp_command(): proxy <udp:10.109.247.90:7723> does not respond, disable it
ERROR: rtpengine [rtpengine.c:1616]: rtpp_test(): proxy did not respond to ping
And, I also tried to set Kamailio and rtpengine daemon in a same machine,and use modparam(“rtpengine”, “rtpengine_sock”, “udp:localhost:7723”). And Kamailio can work functionally under this situation. rtpengine daemon can receive ping message from Kamailio and rtpengine daemon can work as suspected. So for the later case, is it supposed that Kamailio be in the same machine with same localhost address? Otherwise, what’s the reason for my ERROR?
------------------------------------
北京邮电大学网络技术研究院
网络与交换技术国家重点实验室
田军
+86 18810315790
mozillafire(a)bupt.edu.cn
------------------------------------
Hi,
I am using rtjson module to do some call routing, as part of that I've added an additional section to the document to include authentication information.
I am using the uac_auth function from within failure_route to send authentication on to the uri. This works fine... however.
When the initial invite is sent, the To/From headers are updated as per the rtjson document. This isn't the case however when the uac_auth function re-sends the invite with the digest header. The original to/from are being sent.
I am using the dialog module
restore_mode = auto
restore_dlg = 1
I assume there is something I need to call, but none of the RTJSON functions seem to be available within failure_route. Any pointers as to where I am going wrong would be greatly appreciated.
Thanks in advance.
Ben
failure_route[TRUNKAUTH] {
if (t_is_canceled()) {
exit;
}
if(t_check_status("401|407")) {
$avp(auser) = $avp(s:authUser);
$avp(apass) = $avp(s:authPass);
uac_auth();
t_relay();
exit;
}
}
Is it possible to use a table other than 'version' a the version table? i.e. if I'm in a shared DB, and there's an existing table named 'version' with completely different schema, is there a way I can create a table like 'kamailio_version' with the correct schema and data and use it instead?
-- Ben Kaufman
STATEMENT OF CONFIDENTIALITY:
The information contained in this electronic message and any attachments
to this message are intended for the exclusive use of the addressee(s)
and may contain confidential or privileged information. If you are not
the intended recipient, or the person responsible for delivering the
e-mail to the intended recipient, be advised you have received this
message in error and that any use, dissemination, forwarding, printing,
or copying is strictly prohibited. Please notify AltiGen Communications
immediately at either (888)258-4436 or via email to
administrator(a)altigen.com, and destroy all copies of this message and any
attachments.
Greetings,
How sould a call duration be calculated?
Let's say the call creation on Kamailio as a proxy has those steps :
1 - Invite is received
2 - Provisional responses
3 - 200 OK is received
4 - ACK to 200 OK is received
5 - BYE is received
6 - 200 OK to BYE is received
Should the duration begin to count on step 3 (200-Ok Received) or 4 (ACK
received) ?
Should it end on the step 5 or 6?
ACC module tells me that start time for CDR can either be on dialog
creation or confirmation -
https://www.kamailio.org/docs/modules/5.2.x/modules/acc.html#acc.p.cdr_star…
- What is the dialog creation ? Is it when the INVITE is received ?
- According to DIALOG module, a confirmed dialog can be "Waiting for ACK"
or "Active Call". Which one is used by acc module?
Best Regards,
Another year getting to its end, the season holidays are ahead,
therefore it is no better time than now to express my thanks and
greetings to all the friends, developers, supporting companies and
community members that made 2019 an outstanding year for Kamailio project.
Enjoy the holidays! Merry Christmas!
Daniel
* Santa is flying Kamailio! *
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - April 27-29, 2020, in Berlin -- www.kamailioworld.com
Hi all.
I have Kamailio with 2 addr:
kamailio_external_ip - for client interconnect
kamailio_internal_ip - for local media server interconnect
Like this:
client - kamailio_external_ip - kamailio_internal_ip - media_server
"topos" module hide sip headers for both "client" and "media_server" side.
Is it true: with topos i can't hide headers only for the "client" side and
show them for the "media_server"? I want full header set visible for the
"media_server", but only kamailio_external_ip visible for the "client".
--
Savolainen Dmitri
Hi All,
Below is the syntax am using to print the line number in kamailio
configuration file.
xlog("L_WARN","Hi Mahesh at line $cfg(line)\n");
Unfortunately , when i do this looks like kamailio is not starting, Any
help please regarding what am i missing here. I tried Xlogl as well, which
doesnt print the line number by default in my setup.
This is the details i had read to understand config file attributes :
$cfg(key) - Config File Attributes
Attributes related to configuration file.
The key can be:
- line - return the current line in config
- name - return the name of current config file
- file - return the name of current config file
- route - return the name of routing block
Example:
send_reply("404", "Not found at line $cfg(line)")
Hi,
According to RFC-3261 p.20.14, the Content-Length header field must be
present only if a stream-base transport protocol (such as TCP) is used.
Therefore, in the case of the UDP transport protocol, this field is
optional.
Unfortunately, the rtpproxy_manage() function in Kamailio v.5.2.5 doesn't
recognize the SDP body when the Content-Length header field is not present:
Dec 22 08:58:34 pbx kamailio[13456]: 4(13488) WARNING: {1 1 INVITE
wrjxwyuke5ukvvwwxd00zwtu0ktfuzuf(a)10.18.5.64} sanity [sanity.c:585]:
check_cl(): content length header missing in request
Dec 22 08:58:34 pbx kamailio[13456]: 4(13488) INFO: {1 1 INVITE
wrjxwyuke5ukvvwwxd00zwtu0ktfuzuf(a)10.18.5.64} <script>: rtproxy ei.
\(source:81.xxx.xxx.xxx, INVITE sip:098232787@xxx.xxx.xxx.xxx:5060;user=phone
\)
Dec 22 08:58:34 pbx kamailio[13456]: 4(13488) ERROR: {1 1 INVITE
wrjxwyuke5ukvvwwxd00zwtu0ktfuzuf(a)10.18.5.64} rtpproxy
[rtpproxy_funcs.c:182]: extract_body(): failed to get the content length in
message
Dec 22 08:58:34 pbx kamailio[13456]: 4(13488) ERROR: {1 1 INVITE
wrjxwyuke5ukvvwwxd00zwtu0ktfuzuf(a)10.18.5.64} rtpproxy [rtpproxy.c:2271]:
force_rtp_proxy(): can't extract body from the message
Dec 22 08:58:34 pbx rtpproxy[1386]: DBUG:GLOBAL:get_command: received
command "13498_4 LSEIc0,101 wrjxwyuke5ukvvwwxd00zwtu0ktfuzuf(a)10.18.5.64
10.70.227.183 13592 d5k0w3ft-CC-1116-OFC-253;1 as0bf73ed7;1"
Dec 22 08:58:34 pbx rtpproxy[1386]: INFO:GLOBAL:handle_command: lookup
request failed: session wrjxwyuke5ukvvwwxd00zwtu0ktfuzuf(a)10.18.5.64, tags
d5k0w3ft-CC-1116-OFC-253;1/as0bf73ed7;1 not found
Dec 22 08:58:34 pbx rtpproxy[1386]: DBUG:GLOBAL:rtpc_doreply: sending reply
"0\n"
Also, the textops' has_body() function always checks the “Content-Length”
presence that is not 100% correct behavior.
Just for your information, the problem was discovered in a system where
Huawei SoftX3000 is used. It looks like the softswitch removes
the “Content-Length” field in an attempt to decrease size of SIP message
when it is too long. If the user disables some codecs in their SIP phone
then SoftX3000 keeps the “Content-Length” untouched.
Should I open a bug regarding this matter?
Best regards,
Leonid Fainshtein
Xorcom Ltd