Hello everyone,
I have previously set up Kamailio 5.7.2 IMS configuration (including P-CSCF, S-CSCF and
I-CSCF) and successfully made voice calls. Now I'm trying to set up an IP-SM-GW AS
using the example here (with some tweaks):
https://github.com/kamailio/kamailio/blob/master/src/modules/smsops/example…
Currently I'm trying to send the SMS using a SIP software client (MicroSIP).
The problem is, while the SMS is received at the AS and stored in the database, it does
not send it to the callee.
While troubleshooting the problem, I've found that
reg_fetch_contacts("location", "$var(uri)", "caller") in
route[SEND_SMS] cannot find the contact which was added by
reginfo_handle_notify("location") in route[NOTIFY] in the usrloc database. By
tracing the problem more, I've found that reginfo_handle_notify (when handling reg
event NOTIFY) adds the complete AoR in the "username" field in the location
table, e.g. as "bob(a)ims.mnc001.mcc001.3gppnetwork.org".org". But reg_fetch_contacts
(when trying to send the SMS) looks up the table using only the user part in the
"username" field, e.g. "bob". So it cannot find the callee contact and
the configuration assumes the callee is still not registered; so it tries to send out a
SUBSCRIBE every time it tries to send an SMS to the callee, instead of actually sending
the SMS.
Does anybody have any idea on what could have caused this inconsistent behavior between
reginfo_handle_notify and reg_fetch_contacts?