mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-14 12:49:54 +05:00
152 lines
6.4 KiB
JSON
152 lines
6.4 KiB
JSON
{
|
|
|
|
"dns_agent": {
|
|
"request_processors": [
|
|
{
|
|
"id": "NAPTRRoutesQuery",
|
|
"filters": ["*string:~*vars.QueryType:NAPTR",
|
|
"*string:~*vars.QueryName{*e164}:4986517174965"],
|
|
"flags": ["*message", "*routes","*continue"],
|
|
"request_fields":[
|
|
{"tag": "ToR", "path": "*cgreq.Account", "type": "*constant", "value": "1001"} // so we can match the supplier profile
|
|
],
|
|
"reply_fields":[
|
|
{"tag": "DispatchReply", "type": "*none",
|
|
"blocker": true} // enforces continue_on_success so we can check answer with filters
|
|
]
|
|
},
|
|
{
|
|
"id": "NAPTRSuppliersOneSupplier",
|
|
"filters": ["*string:~*vars.QueryType:NAPTR",
|
|
"*string:~*vars.QueryName{*e164}:4986517174965",
|
|
"*gte:~*cgrep.RouteProfiles.Length:1",
|
|
"*gte:~*cgrep.RouteProfiles[0].Routes.Length:1"],
|
|
"flags": ["*none","*continue"], // do not send request to CGRateS
|
|
"reply_fields":[
|
|
{"tag": "NAPTROrder", "path": "*rep.Answer.Order",
|
|
"type": "*group", "value": "100"},
|
|
{"tag": "NAPTRPreference", "path": "*rep.Answer.Preference",
|
|
"type": "*group", "value": "10"},
|
|
{"tag": "NAPTRFlags", "path": "*rep.Answer.Flags",
|
|
"type": "*group", "value": "U"},
|
|
{"tag": "NAPTRService", "path": "*rep.Answer.Service",
|
|
"type": "*group", "value": "E2U+SIP"},
|
|
{"tag": "NAPTRRegexp", "path": "*rep.Answer.Regexp", "type": "*group",
|
|
"value": "~*cgrep.RouteProfiles[0].Routes[0].RouteParameters"},
|
|
{"tag": "NAPTRReplacement", "path": "*rep.Answer.Replacement",
|
|
"type": "*group", "value": "."}
|
|
]
|
|
},
|
|
{
|
|
"id": "NAPTRSuppliersTwoSuppliers",
|
|
"filters": ["*string:~*vars.QueryType:NAPTR",
|
|
"*string:~*vars.QueryName{*e164}:4986517174965",
|
|
"*gte:~*cgrep.RouteProfiles.Length:1",
|
|
"*gte:~*cgrep.RouteProfiles[0].Routes.Length:2"],
|
|
"flags": ["*none","*continue"],
|
|
"reply_fields":[
|
|
{"tag": "NAPTROrder", "type": "*group", "new_branch": true,
|
|
"path": "*rep.Answer.Order", "value": "100"},
|
|
{"tag": "NAPTRPreference", "path": "*rep.Answer.Preference",
|
|
"type": "*group", "value": "10"},
|
|
{"tag": "NAPTRFlags", "path": "*rep.Answer.Flags",
|
|
"type": "*group", "value": "U"},
|
|
{"tag": "NAPTRService", "path": "*rep.Answer.Service",
|
|
"type": "*group", "value": "E2U+SIP"},
|
|
{"tag": "NAPTRRegexp", "path": "*rep.Answer.Regexp", "type": "*group",
|
|
"value": "~*cgrep.RouteProfiles[0].Routes[1].RouteParameters"},
|
|
{"tag": "NAPTRReplacement", "path": "*rep.Answer.Replacement",
|
|
"type": "*group", "value": "."}
|
|
]
|
|
},
|
|
{
|
|
"id": "ARoutesQuery",
|
|
"filters": ["*string:~*vars.QueryType:A",
|
|
"*string:~*vars.QueryName:go.dev."],
|
|
"flags": ["*message", "*routes","*continue"],
|
|
"request_fields":[
|
|
{"tag": "ToR", "path": "*cgreq.Account", "type": "*constant", "value": "1002"}
|
|
],
|
|
"reply_fields":[
|
|
{"tag": "DispatchReply", "type": "*none",
|
|
"blocker": true}
|
|
]
|
|
},
|
|
{
|
|
"id": "ASuppliersOneSupplier",
|
|
"filters": ["*string:~*vars.QueryType:A",
|
|
"*string:~*vars.QueryName:go.dev.",
|
|
"*gte:~*cgrep.RouteProfiles.Length:1",
|
|
"*gte:~*cgrep.RouteProfiles[0].Routes.Length:2"],
|
|
"flags": ["*none","*continue"],
|
|
"reply_fields":[
|
|
{"tag": "Aname", "path": "*rep.Answer.Hdr.Name", "type": "*group", "value": "go.dev."},
|
|
{"tag": "Attl", "path": "*rep.Answer.Hdr.Ttl", "type": "*group", "value": "300"},
|
|
{"tag": "Aclass", "path": "*rep.Answer.Hdr.Class", "type": "*group", "value": "1"},
|
|
{"tag": "Arrtype", "path": "*rep.Answer.Hdr.Rrtype", "type": "*group", "value": "1"},
|
|
{"tag": "Aip", "path": "*rep.Answer.A", "type": "*group", "value": "~*cgrep.RouteProfiles[0].Routes[0].RouteParameters"}
|
|
]
|
|
},
|
|
{
|
|
"id": "ASuppliersTwoSuppliers",
|
|
"filters": ["*string:~*vars.QueryType:A",
|
|
"*string:~*vars.QueryName:go.dev.",
|
|
"*gte:~*cgrep.RouteProfiles.Length:1",
|
|
"*gte:~*cgrep.RouteProfiles[0].Routes.Length:2"],
|
|
"flags": ["*none","*continue"],
|
|
"reply_fields":[
|
|
{"tag": "Aname", "path": "*rep.Answer[1].Hdr.Name", "type": "*group", "value": "go.dev."},
|
|
{"tag": "Attl", "path": "*rep.Answer[1].Hdr.Ttl", "type": "*group", "value": "300"},
|
|
{"tag": "Aclass", "path": "*rep.Answer[1].Hdr.Class", "type": "*group", "value": "1"},
|
|
{"tag": "Arrtype", "path": "*rep.Answer[1].Hdr.Rrtype", "type": "*group", "value": "1"},
|
|
{"tag": "Aip", "path": "*rep.Answer[1].A", "type": "*group", "value": "~*cgrep.RouteProfiles[0].Routes[1].RouteParameters"}
|
|
]
|
|
},
|
|
{
|
|
"id": "SRVRoutesQuery",
|
|
"filters": ["*string:~*vars.QueryType:SRV",
|
|
"*string:~*vars.QueryName:_xmpp-client._tcp.xmpp.org."],
|
|
"flags": ["*message", "*routes","*continue"],
|
|
"request_fields":[
|
|
{"tag": "ToR", "path": "*cgreq.Account", "type": "*constant", "value": "1003"}
|
|
],
|
|
"reply_fields":[
|
|
{"tag": "DispatchReply", "type": "*none",
|
|
"blocker": true}
|
|
]
|
|
},
|
|
{
|
|
"id": "SRVSuppliersOneSupplier",
|
|
"filters": ["*string:~*vars.QueryType:SRV",
|
|
"*string:~*vars.QueryName:_xmpp-client._tcp.xmpp.org.",
|
|
"*gte:~*cgrep.RouteProfiles.Length:1",
|
|
"*gte:~*cgrep.RouteProfiles[0].Routes.Length:1"],
|
|
"flags": ["*none","*continue"],
|
|
"reply_fields":[
|
|
{"tag": "SRVHdr", "path": "*rep.Answer.Hdr.Name", "type": "*group", "value": "_xmpp-client._tcp.xmpp.org."},
|
|
{"tag": "SRVPriority", "path": "*rep.Answer.Priority", "type": "*group", "value": "1"},
|
|
{"tag": "SRVWeight", "path": "*rep.Answer.Weight", "type": "*group", "value": "1"},
|
|
{"tag": "SRVPort", "path": "*rep.Answer.Port", "type": "*group", "value": "9222"},
|
|
{"tag": "SRVTarget", "path": "*rep.Answer.Target", "type": "*group", "value": "~*cgrep.RouteProfiles[0].Routes[0].RouteParameters"}
|
|
]
|
|
},
|
|
{
|
|
"id": "SRVSuppliersTwoSuppliers",
|
|
"filters": ["*string:~*vars.QueryType:SRV",
|
|
"*string:~*vars.QueryName:_xmpp-client._tcp.xmpp.org.",
|
|
"*gte:~*cgrep.RouteProfiles.Length:1",
|
|
"*gte:~*cgrep.RouteProfiles[0].Routes.Length:2"],
|
|
"flags": ["*none","*continue"],
|
|
"reply_fields":[
|
|
{"tag": "SRVHdr", "path": "*rep.Answer[1].Hdr.Name", "type": "*group", "value": "_xmpp-client._tcp.xmpp.org."},
|
|
{"tag": "SRVPriority", "path": "*rep.Answer[1].Priority", "type": "*group", "value": "1"},
|
|
{"tag": "SRVWeight", "path": "*rep.Answer[1].Weight", "type": "*group", "value": "1"},
|
|
{"tag": "SRVPort", "path": "*rep.Answer[1].Port", "type": "*group", "value": "9222"},
|
|
{"tag": "SRVTarget", "path": "*rep.Answer[1].Target", "type": "*group", "value": "~*cgrep.RouteProfiles[0].Routes[1].RouteParameters"}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
|
|
}
|