|
@@ -59,6 +59,8 @@ shm_force_alloc=yes
|
|
dns_srv_lb=yes
|
|
dns_srv_lb=yes
|
|
# Always: Also try IPv6:
|
|
# Always: Also try IPv6:
|
|
dns_try_ipv6=yes
|
|
dns_try_ipv6=yes
|
|
|
|
+# Query NAPTR-Records as well:
|
|
|
|
+dns_try_naptr=yes
|
|
|
|
|
|
/* uncomment and configure the following line if you want Kamailio to
|
|
/* uncomment and configure the following line if you want Kamailio to
|
|
bind on a specific interface/port/proto (default bind on all available) */
|
|
bind on a specific interface/port/proto (default bind on all available) */
|
|
@@ -762,7 +764,11 @@ route[RTPPROXY_TERM] {
|
|
route[REGISTER] {
|
|
route[REGISTER] {
|
|
#!ifdef WITH_RX
|
|
#!ifdef WITH_RX
|
|
xlog("L_DBG","Subscribing to signalling bearer status\n");
|
|
xlog("L_DBG","Subscribing to signalling bearer status\n");
|
|
- Rx_AAR_Register("location");
|
|
|
|
|
|
+ if (Rx_AAR_Register("REG_AAR_REPLY, "location") == 0)
|
|
|
|
+ exit;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+route[REG_AAR_REPLY] {
|
|
switch ($avp(s:aar_return_code)) {
|
|
switch ($avp(s:aar_return_code)) {
|
|
case 1:
|
|
case 1:
|
|
xlog("L_DBG", "Diameter: AAR success on subscription to signalling\n");
|
|
xlog("L_DBG", "Diameter: AAR success on subscription to signalling\n");
|
|
@@ -883,7 +889,12 @@ route[Orig_Initial]
|
|
|
|
|
|
#!ifdef WITH_RX
|
|
#!ifdef WITH_RX
|
|
xlog("L_DBG","Diameter: Orig authorizing media via Rx\n");
|
|
xlog("L_DBG","Diameter: Orig authorizing media via Rx\n");
|
|
- Rx_AAR("location");
|
|
|
|
|
|
+ if(Rx_AAR("ORIG_SESSION_AAR_REPLY","orig")==0){
|
|
|
|
+ exit;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+route[ORIG_SESSION_AAR_REPLY] {
|
|
if ($avp(s:aar_return_code) != 1) {
|
|
if ($avp(s:aar_return_code) != 1) {
|
|
xlog("L_ERR", "Diameter: AAR failed\n");
|
|
xlog("L_ERR", "Diameter: AAR failed\n");
|
|
send_reply("403", "QoS not authorized");
|
|
send_reply("403", "QoS not authorized");
|
|
@@ -1075,8 +1086,13 @@ route[Term_Initial]
|
|
t_on_failure("Term_Initial_failure");
|
|
t_on_failure("Term_Initial_failure");
|
|
|
|
|
|
#!ifdef WITH_RX
|
|
#!ifdef WITH_RX
|
|
- xlog("L_DBG","Diameter: Orig authorizing media via Rx\n");
|
|
|
|
- Rx_AAR("location");
|
|
|
|
|
|
+ xlog("L_DBG","Diameter: Term authorizing media via Rx\n");
|
|
|
|
+ if(Rx_AAR("TERM_SESSION_AAR_REPLY","orig")==0){
|
|
|
|
+ exit;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+route[TERM_SESSION_AAR_REPLY] {
|
|
if ($avp(s:aar_return_code) != 1) {
|
|
if ($avp(s:aar_return_code) != 1) {
|
|
xlog("L_ERR", "Diameter: AAR failed\n");
|
|
xlog("L_ERR", "Diameter: AAR failed\n");
|
|
send_reply("403", "QoS not authorized");
|
|
send_reply("403", "QoS not authorized");
|