|
|
@ -138,10 +138,18 @@ route[CHECK_MEDIA_SERVERS] |
|
|
$var(MediaProfile) = $(avp(ProfileKeys)[$var(ProfileIdx)]); |
|
|
$var(MediaProfile) = $(avp(ProfileKeys)[$var(ProfileIdx)]); |
|
|
$var(MediaRawUrl) = $(var(Payload){kz.json,Media-Servers.$var(MediaKey).Interfaces.$var(MediaProfile).URL}); |
|
|
$var(MediaRawUrl) = $(var(Payload){kz.json,Media-Servers.$var(MediaKey).Interfaces.$var(MediaProfile).URL}); |
|
|
$var(MediaUrl) = $(var(MediaRawUrl){re.subst,/^sip:(.*)@(.*)/sip:\2/}); |
|
|
$var(MediaUrl) = $(var(MediaRawUrl){re.subst,/^sip:(.*)@(.*)/sip:\2/}); |
|
|
|
|
|
$var(MediaInstanceUUID) = $(var(Payload){kz.json,Media-Servers.$var(MediaKey).Instance-UUID}); |
|
|
if($shtinc(media=>$var(MediaUrl)::count) == 1) { |
|
|
if($shtinc(media=>$var(MediaUrl)::count) == 1) { |
|
|
$sht(media=>$var(MediaUrl)::zone) = $var(Zone); |
|
|
$sht(media=>$var(MediaUrl)::zone) = $var(Zone); |
|
|
$shtex(media=>$var(MediaUrl)::zone) = 0; |
|
|
$shtex(media=>$var(MediaUrl)::zone) = 0; |
|
|
|
|
|
$sht(media=>$var(MediaUrl)::uuid) = $var(MediaInstanceUUID); |
|
|
|
|
|
$shtex(media=>$var(MediaUrl)::uuid) = 0; |
|
|
route(MEDIA_SERVER_UP); |
|
|
route(MEDIA_SERVER_UP); |
|
|
|
|
|
} else if($sht(media=>$var(MediaUrl)::uuid) != $var(MediaInstanceUUID)) { |
|
|
|
|
|
$sht(media=>$var(MediaUrl)::uuid) = $var(MediaInstanceUUID); |
|
|
|
|
|
$shtex(media=>$var(MediaUrl)::uuid) = 0; |
|
|
|
|
|
$var(Zone) = $sht(media=>$var(MediaUrl)::zone); |
|
|
|
|
|
route(MEDIA_SERVER_RESTART); |
|
|
}; |
|
|
}; |
|
|
$var(MediaExpire) = ($(var(Payload){kz.json,Expires}{s.int}) / 1000) + NODES_FUDGE_EXPIRE; |
|
|
$var(MediaExpire) = ($(var(Payload){kz.json,Expires}{s.int}) / 1000) + NODES_FUDGE_EXPIRE; |
|
|
xlog("L_DEBUG", "nodes|media|$var(Node) media expiration $var(MediaExpire) for $var(MediaUrl)\n"); |
|
|
xlog("L_DEBUG", "nodes|media|$var(Node) media expiration $var(MediaExpire) for $var(MediaUrl)\n"); |
|
|
@ -185,6 +193,16 @@ route[MEDIA_SERVER_DOWN] |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
route[MEDIA_SERVER_RESTART] |
|
|
|
|
|
{ |
|
|
|
|
|
xlog("L_WARNING", "htable|media|media server $var(MediaUrl) restarted in zone $var(Zone)\n"); |
|
|
|
|
|
|
|
|
|
|
|
#!ifdef PRESENCE_ROLE |
|
|
|
|
|
route(RESET_PUBLISHER); |
|
|
|
|
|
#!endif |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
#!ifndef NODES_CUSTOM_BINDINGS |
|
|
#!ifndef NODES_CUSTOM_BINDINGS |
|
|
route[NODES_BINDINGS] |
|
|
route[NODES_BINDINGS] |
|
|
{ |
|
|
{ |
|
|
|