Hi,
There are two funny things, which I do not understand:
Lines 1140 – 1158 of Kamailio_scscf.cfg:
route[PSTN_handling]
{
# First, we translate "tel:"-URI's to SIP-URI's:
# $ru: tel:+(34)-999-888-777
# $fu: sip:test@foo.com
# becomes $ru: sip:+34999888777@foo.com;user=phone
if (tel2sip("$ru", "$fd", "$ru") < 0)
<------THIS SHOULD CONVERT TEL URI to SIP URI a)
xlog("L_WARN","Failed to convert $ru to a sip:-URI - M=$rm R=$ru F=$fu T=$tu IP=$si:$sp ID=$ci\n\n");
if ($rU =~ "\+[0-9]+") {
# Now let's check, if the number can be found in ENUM:
if(!enum_query()) {
# ENUM failed, send it to the PSTN-Gateway:
route(PSTN);
break;
}
}
}
1.
2. If the I-CSCF actually receives a TEL URI (what we do not know yet), then “why the heck do not we call the enum_query()”? Why do we hit the “604 Does not exist anywhere”?
b) Let’s keep these questions, until we know, if the S-CSCF has actually sent a TEL URI to the I-CSCF in the Request Line of the INVITE.
Lines 537 – 576 of kamailio_icscf.cfg:
route[lir_term_user_unknown]
{
if (uri =~ "tel:.*") {
# Let's check, if the number can be found in ENUM:
if(!enum_query()) {
# ENUM failed, send it to the PSTN-Gateway:
route(PSTN);
break;
}
# ENUM resolved to another domain
if ($rd != NETWORKNAME) {
t_on_reply("initial_request_reply");
t_on_failure("initial_request_failure");
if (!t_relay()) {
t_reply("500","Error forwarding to external domain");
exit;
};
exit;
} else {
t_reply("604","Does not exist anywhere - HSS User Unknown");
exit;
};
} else {
# we received a request for our domain (non-tel), but HSS said "User Unknown"
if ($rd != NETWORKNAME) {
t_reply("604","Does not exist anywhere - HSS User Unknown");
exit;
} else {
# try to forward non-tel request to other domain
t_on_reply("initial_request_reply");
t_on_failure("initial_request_failure");
if (!t_relay()) {
t_reply("500","Error forwarding to external domain");
exit;
};
exit;
};
};
}
Hope it helps
Christoph
-----Ursprüngliche Nachricht-----
Von: sr-users <sr-users-bounces@lists.kamailio.org> Im Auftrag von BALL SUN
Gesendet: Donnerstag, 25. Juni 2020 04:29
An: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Betreff: Re: [SR-Users] Kamailio IMS with ENUM
Hello
I may not describe the problem clearly. When a UE call a number to the Kamailio IMS core, says, the number is 12345678, the R-URI in the SIP INVITE is "sip:12345678;phone-context=ims.mnc001.mcc001.3gppnetwork.org@ims.mnc001.mcc001.3gppnetwork.org;user=phone",
Kamailio P-CSCF pass to INVITE to S-CSCF, and then S-CSCF pass to I-CSCF, I-SCSF trigger LIR to HSS with Public-Identity =
tel:12345678, This IMPU did not provision in HSS, so HSS response with "DIAMATER_ERROR_USER_UNKNOWN".
On receiving this LIA, I-CSCF return to S-CSCF with "604 Does not exist anywhere - HSS User Unknown", and then forward to P-CSCF and the UE.
My question is why I-CSCF did not trigger a DNS/ENUM query after receiving LIA?
attached is the Kamailio configuration that we are using, please advise.
- RBK
On Wed, Jun 24, 2020 at 11:52 PM Valentin Christoph <Christoph.Valentin@kontron.com> wrote:
>
> I don't know your DNS server nor your addressing plan. Probably to
> modify / add some zone files
>
> You must be sure to forward the ranges of telephone numbers that you want to forward to the other domain.
>
> Actually, it DID the request to the DNS/ENUM, but the result was "keep the domain as it is" or "replace it by the own domain"
>
> If the DNS/ENUM query did NOT succeed, then you would run into route(PSTN) and the request would be forwarded to "good old CS domain" to find a destination.
>
> -----Ursprüngliche Nachricht-----
> Von: sr-users <sr-users-bounces@lists.kamailio.org> Im Auftrag von
> BALL SUN
> Gesendet: Mittwoch, 24. Juni 2020 16:49
> An: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
> Betreff: Re: [SR-Users] Kamailio IMS with ENUM
>
> yes. when the HSS profile is not found, it did not route to DNS/ENUM to check, which portion of configuration should I check?
>
> On Wed, Jun 24, 2020 at 5:31 PM Valentin Christoph <Christoph.Valentin@kontron.com> wrote:
> >
> > This means the HSS had answered the user is not known in this domain (lir_term_user_unknown), but then the DNS server insists this telephone number should be handled by our domain ($rd == NETWORKNAME).
> >
> > Just enter the user to the HSS database - if it shall be handled by
> > this domain -
> >
> > Or configure DNS, so that this telephone number is routed to another domain. - if it shall be handled by a different domain.
> >
> > -----Ursprüngliche Nachricht-----
> > Von: sr-users <sr-users-bounces@lists.kamailio.org> Im Auftrag von
> > BALL SUN
> > Gesendet: Dienstag, 23. Juni 2020 16:40
> > An: Kamailio (SER) - Users Mailing List
> > <sr-users@lists.kamailio.org>
> > Betreff: Re: [SR-Users] Kamailio IMS with ENUM
> >
> > Thanks. I actually keep having "604","Does not exist anywhere - HSS User Unknown", so by right, I-CSCF should go to check the ENUM, but it didn't so what configuration I should enable? is it dispatcher list and needed to enabkle
PEERING? below is the routine that related to "604","Does not exist anywhere - HSS User Unknown" in icscf.
> >
> > - RBK
> >
> > route[lir_term_user_unknown]
> > {
> > if (uri =~ "tel:.*") {
> > # Let's check, if the number can be found in ENUM:
> > if(!enum_query()) {
> > # ENUM failed, send it to the PSTN-Gateway:
> > route(PSTN);
> > break;
> > }
> > # ENUM resolved to another domain
> > if ($rd != NETWORKNAME) {
> > t_on_reply("initial_request_reply");
> > t_on_failure("initial_request_failure");
> > if (!t_relay()) {
> > t_reply("500","Error forwarding to external domain"); exit; }; exit; } else { t_reply("604","Does not exist anywhere - HSS User Unknown"); exit; }; } else { # we received a request for our domain (non-tel), but HSS said "User Unknown"
> > if ($rd != NETWORKNAME) {
> > t_reply("604","Does not exist anywhere - HSS User Unknown"); exit; }
> > else { # try to forward non-tel request to other domain
> > t_on_reply("Initial_Request_reply");
> > t_on_failure("Initial_Request_failure");
> > if (!t_relay()) {
> > t_reply("500","Error forwarding to external domain"); exit; }; exit;
> > }; }; } }
> >
> > On Tue, Jun 23, 2020 at 8:40 PM Valentin Christoph <Christoph.Valentin@kontron.com> wrote:
> > >
> > > The example I-CSCF and S-CSCF configurations at misc/examples/ims contain usage of the enum module, afaik.
> > > This could be easily adapted or taken as an example.
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: sr-users <sr-users-bounces@lists.kamailio.org> Im Auftrag von
> > > BALL SUN
> > > Gesendet: Dienstag, 23. Juni 2020 08:53
> > > An: Kamailio (SER) - Users Mailing List
> > > <sr-users@lists.kamailio.org>
> > > Betreff: [SR-Users] Kamailio IMS with ENUM
> > >
> > > Hi
> > >
> > > Is there any information that can help to setup ENUM query in
> > > Kamailio IMS? what we wanted to achieve is to when A in domain A
> > > (the local
> > > domain) makes an INVITE to B, it will check the domain of B from ENUM backend.
> > >
> > > if it is not on the local domain, it will route to remote IMS core.
> > >
> > > Thanks
> > >
> > > - RBK
> > >
> > > _______________________________________________
> > > Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
> > >
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > li
> > > st
> > > s.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=
> > > 02
> > > %7
> > > C01%7Cchristoph.valentin%40kontron.com%7Cc6c88e565e844b41467208d81
> > > 78
> > > 36
> > > ada%7C8c9d3c973fd941c8a2b1646f3942daf1%7C0%7C0%7C63728520048206383
> > > 6&
> > > am
> > > p;sdata=YphpOloEosgWB9Gyt5xXH1COcafnRqMBDrLzhnRsM1o%3D&reserve
> > > d=
> > > 0 _______________________________________________
> > > Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
> > >
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > li
> > > st
> > > s.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=
> > > 02
> > > %7
> > > C01%7Cchristoph.valentin%40kontron.com%7Cc6c88e565e844b41467208d81
> > > 78
> > > 36
> > > ada%7C8c9d3c973fd941c8a2b1646f3942daf1%7C0%7C0%7C63728520048206383
> > > 6&
> > > am
> > > p;sdata=YphpOloEosgWB9Gyt5xXH1COcafnRqMBDrLzhnRsM1o%3D&reserve
> > > d=
> > > 0
> >
> > _______________________________________________
> > Kamailio (SER) - Users Mailing List
> > sr-users@lists.kamailio.org
> >
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fli
> > st
> > s.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=02
> > %7
> > C01%7Cchristoph.valentin%40kontron.com%7C4ca61d548b9b479aacc408d8184
> > dd
> > 44b%7C8c9d3c973fd941c8a2b1646f3942daf1%7C0%7C0%7C637286069835679064&
> > am
> > p;sdata=ORTi4lWOImK5BqSxadSCxcviUwotzg9SvmoWzLVZnZA%3D&reserved=
> > 0 _______________________________________________
> > Kamailio (SER) - Users Mailing List
> > sr-users@lists.kamailio.org
> >
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fli
> > st
> > s.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=02
> > %7
> > C01%7Cchristoph.valentin%40kontron.com%7C4ca61d548b9b479aacc408d8184
> > dd
> > 44b%7C8c9d3c973fd941c8a2b1646f3942daf1%7C0%7C0%7C637286069835679064&
> > am
> > p;sdata=ORTi4lWOImK5BqSxadSCxcviUwotzg9SvmoWzLVZnZA%3D&reserved=
> > 0
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
>
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist
> s.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=02%7
> C01%7Cchristoph.valentin%40kontron.com%7C1aaa3d1351304bbb9d2408d818afa
> 2fd%7C8c9d3c973fd941c8a2b1646f3942daf1%7C0%7C0%7C637286489926646195&am
> p;sdata=odANkkCXC5Mdt7R9uwSDv8u%2BK7jelWG%2B4pgQSBS0v0o%3D&reserve
> d=0 _______________________________________________
> Kamailio (SER) - Users Mailing List
>
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist
> s.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=02%7
> C01%7Cchristoph.valentin%40kontron.com%7C1aaa3d1351304bbb9d2408d818afa
> 2fd%7C8c9d3c973fd941c8a2b1646f3942daf1%7C0%7C0%7C637286489926646195&am
> p;sdata=odANkkCXC5Mdt7R9uwSDv8u%2BK7jelWG%2B4pgQSBS0v0o%3D&reserve
> d=0