DNS SRVレコードとは?
https://www.cloudflare.com/ja-jp/learning/dns/dns-records/dns-srv-record/
DNS「サービス」(SRV)のレコードは、voice over IP(VoIP)、インスタントメッセージングなどに使用する特定のサービスのホストとポートを指定します。他のほとんどの DNSレコードには、サーバー名またはIPアドレスのみを指定しますが、SRV レコードにはそのIP アドレスのポートも含めることができます。インターネットプロトコルの中には、機能するためにSRVレコードの使用を必要とするものがあります。
以上、Cloudflareによる説明です。SIPサーバを公開する場合には、このSRVサービスを利用し、ドメインとの紐付けを行いましょう。
SRVのレコードの中身は?
SRVレコードには、以下の情報が含まれています。ここでは、各フィールドの値の例を示します。
*「プロトコル」の略。トランスポートプロトコルのように使う
**ドメイン名.
ただし、SRVレコードは実際には次のような形式になります。
_service._proto.name. TTL class type of record priority weight port target.
そのため、SRVレコードの例は、実際には次のようになります。
_xmpp._tcp.example.com. 86400 IN SRV 10 5 5223 server.example.com.
上記の例では、「_xmpp」がサービスの種類(XMPPプロトコル)、「_tcp」がトランスポートプロトコル TCP を示し、「example.com」がホスト(ドメイン名)、「Server.example.com」が対象サーバー、「5223」がそのサーバーで使用されているポートを示しています。
SRVレコードは、Aレコード(IPv4の場合)またはAAAAレコード(IPv6の場合)を指している必要があります。SRVレコードが列挙するサーバー名は、 CNAME にはできません。したがって、「server.example.com」は、そのドメイン名の A または AAAA レコードに直接つなげる形で指定する必要があります。
PorkbunでTLS接続するSIPサーバの場合の設定は以下の図ようになります。
Cloudflareのプロキシを利用している場合には、Cloudflareで同様の設定をします。
注)Cloudfrareを利用する場合には、 Porkbunの設定はネームサーバをCloudflare指定のドメインに変更するのみです。DNSレコードの登録は必要ありません。
Flexisipサーバは下記SRVの書式で、デフォルトポートを任意に設定可能(ポートをデフォルトから変更しても、アプリ側で指定する必要はありません)。
Set the DNS zone for your domain (mydomain1.com)
@ IN A <ipv4_address>
IN AAAA <ipv6_address>
_sip._tcp IN SRV 0 0 0 .
_sip._udp IN SRV 0 0 0 .
_sips._tcp IN SRV 0 0 5061 mydomain1.com.
Linphoneログから
SRV _sips._tcp.sip.linphone.org resolved to [target:sip12.linphone.org. port:5061 prio:0 weight:100]
SRV _sips._tcp.sip.linphone.org resolved to [target:sip12.linphone.org. port:443 prio:20 weight:100]
SRV _sips._tcp.sip.linphone.org resolved to [target:sip9.linphone.org. port:5061 prio:10 weight:100]
DNS レコードの確認
digコマンド
dig A sip.mydomain1.com
dig AAAA sip.mydomain1.com
dig SRV _sip._tcp.sip.mydomain1.com
dig SRV _sip._udp.sip.mydomain1.com
dig SRV _sips._tcp.sip.mydomain1.com
DNS Checker