{"id":763,"date":"2013-09-05T11:11:23","date_gmt":"2013-09-05T11:11:23","guid":{"rendered":"http:\/\/blog.bachi.net\/?p=763"},"modified":"2013-09-05T11:12:00","modified_gmt":"2013-09-05T11:12:00","slug":"sipxecs-4-6-0-dns-korrektur","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=763","title":{"rendered":"sipXecs 4.6.0: DNS Korrektur"},"content":{"rendered":"<pre class=\"brush: python; title: \/etc\/sipxpbx\/sipxdns\/zone.erb; notranslate\" title=\"\/etc\/sipxpbx\/sipxdns\/zone.erb\">\r\n&lt;%\r\n  def record_id(id)\r\n    if defined? :print_record_ids\r\n      &quot;;; RECORDS: #{id}\\n&quot;\r\n    end\r\n  end\r\n%&gt;$TTL 1800\r\n@       IN     SOA    ns1.&lt;%= domain %&gt;. root.&lt;%= domain %&gt;. (\r\n                       &lt;%= serialno %&gt; ; serial#\r\n                       1800            ; refresh, seconds\r\n                       1800            ; retry, seconds\r\n                       1800            ; expire, seconds\r\n                       1800 )          ; minimum TTL, seconds\r\n\r\n&lt;% \r\n  unless dns_servers.nil?\r\n    dns_servers.each { |server| \r\n%&gt;&lt;%= domain %&gt;.            IN     NS     &lt;%= server&#x5B;:name] %&gt;.\r\n&lt;%\r\n    }\r\n  end\r\n\r\n%&gt;&lt;%= record_id('naptr') %&gt;&lt;%\r\n\r\n  naptr_protocols.each { |proto| \r\n  protoCode = 'SIP+D2' + proto&#x5B;0,1].upcase  # SIP+D2T\r\n%&gt;&lt;%= domain %&gt;.               IN      NAPTR   2 0 &quot;s&quot; &quot;&lt;%= protoCode %&gt;&quot; &quot;&quot; _sip._&lt;%= proto %&gt;.&lt;%= domain %&gt;.\r\n&lt;%} \r\n\r\n%&gt;&lt;%= record_id('proxy') %&gt;&lt;%\r\n\r\n  # distribute traffic equally for now to each proxy\r\n  sip_protocols.each { |proto|\r\n    if proxy_servers\r\n      proxy_servers.each { |server| \r\n        if proto == 'tls'\r\n%&gt;_sips._tcp.&lt;%= domain %&gt;.     IN      SRV     10 10 5061 &lt;%= server&#x5B;:name] %&gt;.\r\n_sip._tls.&lt;%= domain %&gt;.     IN      SRV     10 10 5061 &lt;%= server&#x5B;:name] %&gt;.\r\n&lt;%\r\n        else\r\n\r\n%&gt;_sip._&lt;%= proto %&gt;.&lt;%= domain %&gt;.     IN      SRV     10 10 5060 &lt;%= server&#x5B;:name] %&gt;.\r\n&lt;%      end\r\n      }\r\n    end\r\n  }\r\n\r\n%&gt;&lt;%= record_id('rr') %&gt;&lt;%\r\n\r\n  if resource_records\r\n    resource_records.each { |rr|\r\n      if rr&#x5B;:records]\r\n        rr&#x5B;:records].each { |a|\r\n%&gt;&lt;%= rr&#x5B;:proto] %&gt;.&lt;%= rr&#x5B;:resource] %&gt;.&lt;%= domain %&gt;.   IN    SRV   10 10 &lt;%= a&#x5B;:port] %&gt; &lt;%= a&#x5B;:target] %&gt;.\r\n&lt;%\r\n          rr&#x5B;:records].each { |b|\r\n            # give priority to local registrar\r\n            rr_priority = (a == b ? '10' : '20')\r\n%&gt;&lt;%= rr&#x5B;:proto] %&gt;.&lt;%= rr&#x5B;:resource] %&gt;.&lt;%= a&#x5B;:name] %&gt;.   IN    SRV   &lt;%= rr_priority %&gt; 10 &lt;%= b&#x5B;:port] %&gt; &lt;%= b&#x5B;:target] %&gt;.\r\n&lt;%        } \r\n        }\r\n      end\r\n    } \r\n  end\r\n\r\n%&gt;&lt;%= record_id('im') %&gt;&lt;%\r\n\r\n  if im_servers\r\n    im_servers.each { |server| \r\n%&gt;_xmpp-server._tcp.&lt;%= domain %&gt;.     IN   SRV   10  10  5269  &lt;%= server&#x5B;:name] %&gt;.\r\n_xmpp-client._tcp.&lt;%= domain %&gt;.     IN   SRV   10  10  5222  &lt;%= server&#x5B;:name] %&gt;.\r\n_xmpp-server._tcp.conference.&lt;%= domain %&gt;.     IN   SRV   10  10  5222  &lt;%= server&#x5B;:name] %&gt;.\r\n_xmpp-client._tcp.conference.&lt;%= domain %&gt;.     IN   SRV   10  10  5222  &lt;%= server&#x5B;:name] %&gt;.\r\n&lt;%  } \r\n  end\r\n\r\n%&gt;&lt;%= record_id('a') %&gt;&lt;%\r\n  if all_servers\r\n    all_servers.each { |server| \r\n%&gt;&lt;%= server&#x5B;:name] %&gt;.           IN      A       &lt;%= server&#x5B;:ipv4] %&gt;\r\n&lt;%  }\r\n  end\r\n%&gt;\r\n&lt;HOSTNAME&gt;.            IN     A &lt;IP-ADDRESS&gt;\r\n\r\nev.\r\n&lt;%= sys.hostname %&gt; IN A &lt;%= sys.ipv4 %&gt;\r\nor\r\n&lt;%= sys&#x5B;:hostname] %&gt; IN A &lt;%= sys&#x5B;:ipv4] %&gt;\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>&lt;% def record_id(id) if defined? :print_record_ids &quot;;; RECORDS: #{id}\\n&quot; end end %&gt;$TTL 1800 @ IN SOA ns1.&lt;%= domain %&gt;. root.&lt;%= domain %&gt;. ( &lt;%= serialno %&gt; ; serial# 1800 ; refresh, seconds 1800 ; retry, seconds 1800 ; expire, seconds 1800 ) ; minimum TTL, seconds &lt;% unless dns_servers.nil? dns_servers.each { |server| %&gt;&lt;%= domain %&gt;. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[],"class_list":["post-763","post","type-post","status-publish","format-standard","hentry","category-cent-os"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/763","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=763"}],"version-history":[{"count":2,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/763\/revisions"}],"predecessor-version":[{"id":765,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/763\/revisions\/765"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=763"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=763"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=763"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}