On Thu, Mar 4, 2021 at 6:22 PM Devang Dhandhalya <
devang.dhandhalya(a)ecosmob.com> wrote:
> Thank you sir for giving this much method .
>
> but in my case i want to take Destination address from dispatcher.list
> file only . and from there when every call coming i need to send response
> 302 and in that contact header i need to add those destination by group id
> . so any XAVP variable use in my case or any other way to solve this issue
> ?
>
> Thanks in Advance
> Devang
>
> On Thu, Mar 4, 2021 at 6:09 PM Daniel-Constantin Mierla <miconda(a)gmail.com>
> wrote:
>
>> Hello,
>>
>> then maybe you can keep the list of addresses in database and use
>> sql_query() (from sqlops) to retrieve them and build the headers using
>> $dbr(...).
>>
>> Or if you want caching, see the htable module.
>>
>> If you do not want to use a database system, see db_text to use with
>> htable or just read file content with corex module.
>>
>> Further flexibility can be added by using other embedded scripting
>> languages, e.g., app_lua.
>>
>> Cheers,
>> Daniel
>> On 04.03.21 12:31, Devang Dhandhalya wrote:
>>
>> Hello
>>
>> Right now i am not using dispatcher for routing purpose . but i add
>> destination in dispatcher.list and i need to set all those list of
>> destination addresses grouped by id in 302 response in contact header
>> field .
>> .
>> Thanks in advanced
>> Devang
>>
>> On Thu, Mar 4, 2021 at 4:43 PM Daniel-Constantin Mierla <
>> miconda(a)gmail.com> wrote:
>>
>>> Hello,
>>>
>>> do you need dispatcher for providing something else? Or just to keep the
>>> list of addresses grouped by id? There can be other variants if dispatcher
>>> is not needed for something else.
>>>
>>> Cheers,
>>> Daniel
>>> On 04.03.21 09:19, Devang Dhandhalya wrote:
>>>
>>> my scenario is : i have dispatcher list
>>>
>>> # dispatcher destination sets (groups)
>>> #
>>>
>>> # line format
>>> # setid(int) destination(sip uri) flags(int,opt) priority(int,opt)
>>> attributes(str,opt)
>>>
>>> # proxies
>>> 2 sip:172.19.56.21:5060 0 1
>>> 2 sip:172.19.56.22:5060 0 2
>>>
>>> # gateways
>>> 1 sip:192.168.0.11:5060 0 1
>>> 1 sip:192.168.0.22:5060 0 2
>>> 1 sip:192.168.0.33:5060 0 3
>>>
>>> when call coming from first time client to kamailio . kamailio just need
>>> to send 302 response to the client with all destination ip of group id 1
>>> priority wise in its contact header field . in easy way
>>>
>>> client ------------------> kamailio
>>> 302 33(3) 22(2) 11(1)
>>> <---------------
>>>
>>> and when call coming second time from client to kamailio . kamailio need
>>> to send group id 2 all destination ip in 302 response in its contact header
>>> field .
>>>
>>> client ------------------> kamailio
>>> 302 22(2) 21(1)
>>> <---------------
>>>
>>> can any one suggest me how to do this thing from kamailio side ? use of
>>> append_branch is good option but how to configure this scenario .
>>>
>>> Thanks in advance
>>> Devang
>>>
>>> *Disclaimer*
>>> In addition to generic Disclaimer which you have agreed on our website,
>>> any views or opinions presented in this email are solely those of the
>>> originator and do not necessarily represent those of the Company or its
>>> sister concerns. Any liability (in negligence, contract or otherwise)
>>> arising from any third party taking any action, or refraining from taking
>>> any action on the basis of any of the information contained in this email
>>> is hereby excluded.
>>>
>>> *Confidentiality*
>>> This communication (including any attachment/s) is intended only for the
>>> use of the addressee(s) and contains information that is PRIVILEGED AND
>>> CONFIDENTIAL. Unauthorized reading, dissemination, distribution, or copying
>>> of this communication is prohibited. Please inform originator if you have
>>> received it in error.
>>>
>>> *Caution for viruses, malware etc.*
>>> This communication, including any attachments, may not be free of
>>> viruses, trojans, similar or new contaminants/malware, interceptions or
>>> interference, and may not be compatible with your systems. You shall carry
>>> out virus/malware scanning on your own before opening any attachment to
>>> this e-mail. The sender of this e-mail and Company including its sister
>>> concerns shall not be liable for any damage that may incur to you as a
>>> result of viruses, incompleteness of this message, a delay in receipt of
>>> this message or any other computer problems.
>>>
>>> _______________________________________________
>>> Kamailio (SER) - Users Mailing Listsr-users@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>> --
>>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>> Funding: https://www.paypal.me/dcmierla
>>>
>>>
>> *Disclaimer*
>> In addition to generic Disclaimer which you have agreed on our website,
>> any views or opinions presented in this email are solely those of the
>> originator and do not necessarily represent those of the Company or its
>> sister concerns. Any liability (in negligence, contract or otherwise)
>> arising from any third party taking any action, or refraining from taking
>> any action on the basis of any of the information contained in this email
>> is hereby excluded.
>>
>> *Confidentiality*
>> This communication (including any attachment/s) is intended only for the
>> use of the addressee(s) and contains information that is PRIVILEGED AND
>> CONFIDENTIAL. Unauthorized reading, dissemination, distribution, or copying
>> of this communication is prohibited. Please inform originator if you have
>> received it in error.
>>
>> *Caution for viruses, malware etc.*
>> This communication, including any attachments, may not be free of
>> viruses, trojans, similar or new contaminants/malware, interceptions or
>> interference, and may not be compatible with your systems. You shall carry
>> out virus/malware scanning on your own before opening any attachment to
>> this e-mail. The sender of this e-mail and Company including its sister
>> concerns shall not be liable for any damage that may incur to you as a
>> result of viruses, incompleteness of this message, a delay in receipt of
>> this message or any other computer problems.
>>
>> --
>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>> Funding: https://www.paypal.me/dcmierla
>>
>>
--
*Disclaimer*
In addition to generic Disclaimer which you have agreed on our
website, any views or opinions presented in this email are solely those of
the originator and do not necessarily represent those of the Company or its
sister concerns. Any liability (in negligence, contract or otherwise)
arising from any third party taking any action, or refraining from taking
any action on the basis of any of the information contained in this email
is hereby excluded.
*Confidentiality*
This communication (including any
attachment/s) is intended only for the use of the addressee(s) and contains
information that is PRIVILEGED AND CONFIDENTIAL. Unauthorized reading,
dissemination, distribution, or copying of this communication is
prohibited. Please inform originator if you have received it in error.
*Caution for viruses, malware etc.*
This communication, including any
attachments, may not be free of viruses, trojans, similar or new
contaminants/malware, interceptions or interference, and may not be
compatible with your systems. You shall carry out virus/malware scanning on
your own before opening any attachment to this e-mail. The sender of this
e-mail and Company including its sister concerns shall not be liable for
any damage that may incur to you as a result of viruses, incompleteness of
this message, a delay in receipt of this message or any other computer
problems.
Hi,
Recent versions of RTPEngine (9.x+) implemented support for speaking the
"NG" wire protocol over TCP, via the `--listen-tcp-ng` option.
Does the Kamailio `rtpengine` module support this, and/or are there any
plans to? We've run into a few scenarios where very large responses from
RTPEngine can't make it back to Kamailio over the UDP protocol due to
fragmentation problems in unique network settings like tunnels.
-- Alex
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
my scenario is : i have dispatcher list
# dispatcher destination sets (groups)
#
# line format
# setid(int) destination(sip uri) flags(int,opt) priority(int,opt)
attributes(str,opt)
# proxies
2 sip:172.19.56.21:5060 0 1
2 sip:172.19.56.22:5060 0 2
# gateways
1 sip:192.168.0.11:5060 0 1
1 sip:192.168.0.22:5060 0 2
1 sip:192.168.0.33:5060 0 3
when call coming from first time client to kamailio . kamailio just need to
send 302 response to the client with all destination ip of group id 1
priority wise in its contact header field . in easy way
client ------------------> kamailio
302 33(3) 22(2) 11(1)
<---------------
and when call coming second time from client to kamailio . kamailio need to
send group id 2 all destination ip in 302 response in its contact header
field .
client ------------------> kamailio
302 22(2) 21(1)
<---------------
can any one suggest me how to do this thing from kamailio side ? use of
append_branch is good option but how to configure this scenario .
Thanks in advance
Devang
--
*Disclaimer*
In addition to generic Disclaimer which you have agreed on our
website, any views or opinions presented in this email are solely those of
the originator and do not necessarily represent those of the Company or its
sister concerns. Any liability (in negligence, contract or otherwise)
arising from any third party taking any action, or refraining from taking
any action on the basis of any of the information contained in this email
is hereby excluded.
*Confidentiality*
This communication (including any
attachment/s) is intended only for the use of the addressee(s) and contains
information that is PRIVILEGED AND CONFIDENTIAL. Unauthorized reading,
dissemination, distribution, or copying of this communication is
prohibited. Please inform originator if you have received it in error.
*Caution for viruses, malware etc.*
This communication, including any
attachments, may not be free of viruses, trojans, similar or new
contaminants/malware, interceptions or interference, and may not be
compatible with your systems. You shall carry out virus/malware scanning on
your own before opening any attachment to this e-mail. The sender of this
e-mail and Company including its sister concerns shall not be liable for
any damage that may incur to you as a result of viruses, incompleteness of
this message, a delay in receipt of this message or any other computer
problems.
I tried to skip topos stripping based on R-URI hostpart like this:
event_route[topos:msg-outgoing] {
xinfo("******** at topos:msg-outgoing with $rd\n");
if ($rd == "example.com")
drop;
}
and got this to syslog:
Mar 2 18:35:59 lab /usr/bin/sip-proxy[22441]: INFO: <script>: ******** at topos:msg-outgoing with kamailio.org
Where does $rd == kamailio.org come from, since R-URI hostpart of the
request does not have that domain?
Or is it so that $rd cannot be used in that event route?
-- Juha
Dear Daniel:
When I was using the topos module, I found that if a bye message was sent from side B, kamailio would return a 404 message. When I remove the topos module, the call is normal, attached is sip pcap.
172.18.67.50:5060 and 172.18.67.40:55066 Are different ports monitored by the same kamailio
Looking forward to your reply!
My cfg is too long,I will key information for cfg:
modparam("ndb_redis", "server", "name=srv8;addr=127.0.0.1;port=6381;db=2")
modparam("topos", "storage", "redis")
modparam("topos", "db_url", "redis://127.0.0.1:6381/2")
modparam("topos_redis", "serverid", "srv8")
modparam("topos", "rr_update", 1)
/*……*/
request_route {
xlog("L_DBG","request_route message: $mb\n");
if (is_method("UPDATE")) {
t_on_reply("UPDATE_SELF");
#t_on_branch("UPDATE_OUT");
}
# per request initial checks
route(REQINIT);
#!ifdef PBX_OUTMODE
route(MESSAGE);
#!endif
# handle requests within SIP dialogs
route(WITHINDLG);
route(CANCEL);
# route(CHECK_REG);
route(REGISTER);
if (is_method("OPTIONS")) {
route(REPLAY_OPTIONS);
exit;
}
t_check_trans();
# /andle methods that don't make any sense in this environment
if (!is_method("INVITE")) {
xlog("L_INFO","Call $ci: Anomalous method $rm received from $si:$sp, relaying just in case\n");
sl_reply_error();
exit;
}
if(is_method("INVITE")){
dlgs_init("$fu","$tu","FusionSBC");
dlg_manage();
}
if ($rU==$null) {
# request with no Username in RURI
sl_send_reply("484","Address Incomplete");
exit;
}
#From now on only INVITES
#check if it's registered PBX user
#!ifdef ASBCBROKER
route(INVITE_PBX);
#!else
#!ifdef ASBC
route(INVITE_PBX);
#!endif
#!endif
route(INVITE_AUTHENTICATE);
route(GET_RG_INFO);
route(GET_NUMBERS);
route(SHOW_CALL_INFO);
#Manipulate IN ANI (Number and NOA)
route(ANI_MANIPULATION);
#Manipulate IN DNIS
route(DNIS_MANIPULATION);
route(SDP);
# record routing for dialog forming requests (in case they are routed)
# - remove preloaded route headers
xlog("L_DEBUG","Adding Record-Route header\n");
# NVF changed this 4/22/2014 - why remove the incoming route headers?
#remove_hf("Record-Route");
record_route();
route(ROUTING);
route(SEND);
}
/*……*/
route[WITHINDLG] {
if (has_totag()) {
# sequential request withing a dialog should
# take the path determined by record-routing
xlog("L_INFO","yang yangyang testin to not here");
if (loose_route()){
if(is_method("INFO")){
route("INFO_SELF");
}
route(BYE);
route(REINVITE);
route(ACK);
route(RELAY);
} else {
if ( is_method("ACK")) {
if ( t_check_trans() ) {
# no loose-route, but stateful ACK;
# must be an ACK after a 487
# or e.g. 404 $var(obj) = $sht(call_objects=>$ci);
xlog("L_INFO","Call $ci: ACK received in A-Leg, $fU@$si:$sp -----> $rU@$Ri:$Rp relaying downstreamrouteWITHINDLG\n");
t_relay();
exit;
} else {
# ACK without matching transaction ... ignore and discard
exit;
}
}
xlog("L_INFO","yang in to not here");
sl_send_reply("404","Not here");
}
exit;
}
}
发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用
Hello,
I'm currently using alias_db_lookup to map inbound calls from my SIP
carrier to internal endpoints e.g.,
1NXXXXXXXXX(a)sip.example.com -> alice(a)sip.example.com.
This works well, but I would now like to simultaneously call alice@ and
bob@, e.g.
alias_db_lookup(...) # somehow return alice@ and bob@
append_branch("sip:bob@sip.example.com")
as described here: http://kamailio.org/docs/modules/devel/modules/tm.html#tm.serial_forking
This is effectively a hunt group, where two users are called and once
one user picks up the call, the second is sent a CANCEL.
How would I acheive this with Kamailio?
Thanks,
Adam
Hi there,
Question: is it possible to load a htable, defined by columns, from a
MongoDB collection, when a certain "column" is an object with multiple
elements?
For example:
modparam("htable", "htable",
"users=>size=10;dbtable=users;cols='FirstName,LastName,Location:Prefix';")
Fails when trying to load the value of Location.Prefix
{
"FirstName": "John",
"LastName": "Doe",
"Language" : "en",
"Location" : {
"Country" : "USA",
"City" : "New York",
"Prefix" : "+1"
}
}
Thanks in advance.
Hello!
There is a task to remove a fragment (*a=rtpmap:8 PCMA/8000#015#012*) from
the SDP string generated by the rtpengine.
*v=0#015#012o=kw 1614043485 1614043486 IN IP4
185.19.237.77#015#012s=kw#015#012c=IN IP4 1.1.1.1#015#012t=0
0#015#012m=audio 31828 RTP/AVP 0 8 101#015#012a=silenceSupp:off - - -
-#015#012a=direction:both#015#012a=rtpmap:0 PCMU/8000#015#012a=rtpmap:8
PCMA/8000#015#012a=rtpmap:101 telephone-event/8000#015#012a=fmtp:101
0-16#015#012a=sendrecv#015#012a=rtcp:31829#015#012a=ptime:20#015#012*
The most logical option seems to be using the re.subst transformation, but
so far no success.
$avp(write_sdp_pv) = $(avp(write_sdp_pv){re.subst,/a=rtpmap:8
PCMA\/8000%23015%23012//s});
Сan there be an alternative or am I doing something wrong with the re.subst?
--
BR,
Denys Pozniak