• 締切済み

テキストをTCPで転送する場合のSIPのSDPの記述

SIPを用いた通信で、テキストをTCPで転送する場合のSIPのSDPの記述方法について質問いたします。 RFC4566では、メディアストリームをSDPで、 m=<media> <port> <proto> <fmt> ... で定義し、<media>に"text"を指定できるように記述してあるので、テキストの転送も前提にしているようですが、 トランスポートプロトコルを記述する<proto>には、"udp","RTP/AVP","RTP/SAVP" 等のUDPベースしかなく、パケットロスしては困るテキスト等を転送するためのTCPを指定する方法が見当たりません。 また、コーデックを指定するための、「a=rtpmap」というRTPを前提とした定義になっていますが、TCPを想定していないように見えます。 もしテキスト等をTCPで転送する場合、指定する方法はないのでしょうか。

みんなの回答

  • pooh0206
  • ベストアンサー率41% (179/433)
回答No.1

TCPについてはRFC4145で定義されているようです。 IANAに登録済みのSDPのパラメータについての資料があります。 http://www.iana.org/assignments/sdp-parameters

参考URL:
http://www.iana.org/assignments/sdp-parameters

関連するQ&A

  • ブロック長について

    こんばんは。 TCP/IPの世界ではデータはパケットととして転送され、1回の手続きで 転送が完了しない場合は、分割されて転送されると思います。 アプリケーションによっては、固定長のブロック長を指定でき、 ブロック単位でデータ転送が行われます。 現在、全銀TCP/IPを使用し、通信を行っていますが、稀に通信エラー が発生します。 どうもパケットロスが原因のようなのですが、ブロック長を長くすれ ばするほど、パケットロスと言うのは起こりやすくなるものなのでしょうか? 現在、全銀推奨の2048以上を指定してます。 他の業務でも全銀TCP/IPを使用していますが、このようなエラーは 発生しておりません。違いがあるのはブロック長の長さです。 回線はISDNを使用しています。

  • ポートの開放という作業について教えてください

    ゲームソフトでポート開放をしてくださいという記述がありTCPポートは開放が確認されました。ところがUDPはどうしても開放が確認できません(ソフトを起動する等はしています)下にnetstat-an表示の一部を抜粋しました。以下を見る限り大まかに4つのブロックに分かれているように見えますがどれを指定したらいいのでしょうか?素人考えで(A)が空いているのかな?と思い指定してみましたがだめでした。もしお分かりでしたら是非お願いいたします。 (A) UDP 0.0.0.0:500    *.* UDP 0.0.0.0:64138   *.* (B) UDP 127.0.0.1:1900   *.* UDP 192.168.1.100:138 *.* UDP 192.168.1.100:1900 *.* (C) UDP :[::]123      *.* UDP :[::]500      *.* UDP :[::1]1900     *.* (D) UDP [fe80::55:13a3:3f57:fe9b%12]:1900 *.* UDP [fe80::55:13a3:3f57:fe9b%12]:64140 *.*

  • TCP/IPにおける端末間の通信について(NAPT)

    TCP/IPにおける端末間の通信について(NAPT) お世話になります。 TCP/IPについて質問です。 NAPT機能の付いたルータを介し、インターネット越しに通信を行う場合を想定します。 1.端末A(送信側)から端末B(受信側)にTCPあるいはUDPを用いてデータを送信する場合、端末Bでは必ず待ち受けるポートにbind(listen)し、また端末Aでは指定されたポート宛てにデータを送信する必要があると聞きました。 ここまでは理解できますが、ここにNAPT機能の付いたルータが介入する場合、"例外なく"端末B側のルータでポートマッピングを行う必要があるのでしょうか? 2.上記の認識がもし正しい場合、2台の端末で通信を行う場合は少なくとも片方でポートマッピングが必要ということになります。 だとするならば、SkypeやMSNメッセンジャーなどのクライアント側でポートマッピングが必要のないアプリケーションは、必ずサーバを介した通信を行っているということでしょうか? Skypeなどの仕組みを説明しているサイトを見ると、接続の手順を踏んだのちに端末間で通信を行うとの記述があるのですが、いくら接続先のIPがわかっていても、アプリケーション間で接続を確立するには、片方でポートマッピングが必要になると思うのですが、これはどういうことなのでしょうか? 3.上記の認識が正しい場合、UDPで受信する為には必ずポートマッピングが必要ということになります。 だとするならば、クライアント側でポートマッピングが必要のないアプリケーションは、少なくとも受信にはUDPを用いていないということでしょうか? 以上の3点についてお答え頂けると幸いです。 回答お待ちしています。

  • iptablesを使用してのDNSゾーン転送の設定。

    今後Linuxをルーターとしてサーバー公開を目指しています。 グローバルIP=10.10.10.10(ルーターインターフェース=eth0) プライベートIP=192.168.0.1(ルーターインターフェースeth1) PrimaryDNS=10.10.10.10:53をプライベートIPに変換=192.168.0.2:53 セカンダリDNS=20.20.20.20 Linuxルータはiptablesのみ動作。 primaryDNSサーバーはwindows2000を使用しています。 iptablesにより、Preroutingを使用して10.10.10.10:53→192.168.0.2:53の変換。 POSTROUTINGにより192.168.0.2→10.10.10.10:53へ変換と設定しています。 # iptables -t nat -A PREROUTING -p tcp -d 10.10.10.10 -dport53 -j DNAT -to-destinalion 192.168.1.20:53 # iptables -t nat -A POSTROUTING -p tcp -s 10.10.10.10 -sport53 -j SNAT -to-source 192.168.1.20:53 # iptables -t nat -A PREROUTING -p udp -d 10.10.10.10 -dport53 -j DNAT -to-destinalion 192.168.1.20:53 # iptables -t nat -A POSTROUTING -p udp -s 10.10.10.10 -sport53 -j SNAT -to-source 192.168.1.20:53 そこで質問なのですが、この際Win2000でゾーン転送のセカンダリDNSの宛先アドレスはどうしたらよろしいのでしょうか? その際、iptablesの記述も教えてください。 一応、 # iptables -A FORWARD -p tcp -dport53 -j ACCEPT # iptables -A FORWARD -p udp -dport53 -j ACCEPT 53ポートのtcp,udpを許可しています。

  • ファイルと設定の転送ウィザードが使えない

    再インストールするのでデータのバックアップするためにファイルと設定の転送ウィザードを利用して外付けHDDに入れて再インストールをしたのですがファイルと設定の転送を利用して復元しようとしたのですが 「指定した場所には、保存された情報がありません...」と表示されました。 マイクロソフトのサポート情報を見ると2台のPCの転送を前提としているため、同じPCでの転送の記述がありません。 どうすればよいでしょうか? 前のPC 再インストール後のPC WinXP SP2      WinXP SP3 マイクロソフトのサポート情報 http://support.microsoft.com/kb/899924/ja

  • 音楽PVやネットラジオが聴けない!

    この前まで、WindowsMediaPlayerで音楽PVの動画やネットラジオを再生できました。 急に再生できなくなりました。 再生しようとすると、『指定したプロトコルがサポートされていないため、ファイルを再生できません。[URL を開く] ダイアログ ボックスで URL を入力した場合は、別の転送プロトコル (たとえば "http:" または "rtsp:") を使用してファイルを開いてみてください。』というエラーメッセージが出ます。 ちなみに、Windows Media Playerの「ツール」→「オプション」の「ネットワーク」では、「ストリーミングプロトコル」TCP,UDPのチェックを外しています。 なぜ見れなくなってしまったのでしょうか? 教えて頂けますか?お願いします。

  • MSCommを用いたRS-232-Cデータ転送

    Visual Basic ver.6を用いてRS-232-Cデータ転送のプログラムを書いています。 転送には,MSComm controlを用いています。 コンピューター側から命令コードを測定器側に送信すると(例えば,MSComm1.OutPut = "F,3,300," & Chr(13)のように),測定器側からは次のようなテキストデータの転送が指定された回数だけ起こります: @C/R 数値データC/R 数値データC/R ・・・・ ・・・・ (指定回数繰り返す) そこで,質問ですが,このデータをMSComm1.Inputを介してきちんと取得する方法をお教えください。私がよく理解できいない部分は,「どのような形でbufferにデータが落ちているのか?」という部分と「繰り返し処理をどう記述するのか?」という部分です。多分後者は配列型変数を用いて「指定回数」だけ繰り返すことになると思いますが・・・・。 なお,データ転送の制御フォーマットはデータのみの転送で,STXもETXも使用していません。

  • DNSとiptablesについて

    DNSの仕組みについて分からないので教えて頂きたいです。 現在、マスターとスレーブサーバを構築しており、外向きの 名前解決など動作的には正常に動作していると思われます。 サーバはCentosで構築しており、iptablesで設定しています。 iptablesの一部で以下のように設定をしているのですが・・・ ------------------------------------------------------------------------- iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT ------------------------------------------------------------------------- 1.まず、TCP/UDP共にポートを開けておかないといかないと思うのですが、送信元   はANYで許可しておかないとダメでしょうか?   上位DNSサーバからの参照などに使われますよね?   もちろんbindの設定で、ゾーン転送はスレーブサーバへのみ許可しています。 2.スレーブサーバへのゾーン転送もできているのですが、マスタサーバ側のiptables   のログに下記のようなものが残っています。   送信元IPはスレーブサーバのIPでUDP送信ポート53が使われているようなのですが   送信ポート53は何に使われているのでしょうか?宛先ポート53との違いは? -------------------------------------------------------------------------- SRC=送信元IP DST=宛先IP LEN=72 TOS=0x00 PREC=0x00 TTL=62 ID=20999 PROTO=UDP SPT=53 DPT=47046 LEN=52 -------------------------------------------------------------------------- スレーブの53ポートからの通信がDNSの動作に必要なものであれば、iptablesのルールを追加 しようと思います。 情報が少ない場合は補足できる範囲で補足させて頂きます。 よろしくお願いします。

  • セグメンテーションエラーの原因がわからず困っています。

    こんにちは。 セグメンテーションエラーが出て困っています。下のプログラムは、strstrによるテキストファイルからの文字列の検索と抽出を目的としたものです。具体的には文字列「00:18:52.491692」を含んだ行を見つけたいと考えています。 何かお気づきの点等ありましたら是非ご教授頂きたく思います。 #include<stdio.h> #include<string.h> int main(){ FILE *fp; if( (fp = fopen("file.txt","r")) == NULL){ printf("fopen:error\n"); exit(-1); } char *answer; char target[1024] = "00:18:52.491692"; char source[1024]; while( (fgets(source,1024,fp)) != NULL){ answer = strstr(source,target); if(answer != NULL){ printf("%s\n",answer); break; } } fclose(fp); return 0; } 以下がファイルの中身です。 00:18:52.486843 IP (tos 0x10, ttl 64, id 56604, offset 0, flags [DF], proto: TCP (6), length: 100) 10.1.4.12.ssh > 10.1.4.99.49964: P 1724257568:1724257616(48) ack 648002683 win 718 <nop,nop,timestamp 2123242756 28297809> 00:18:52.491692 IP (tos 0x10, ttl 64, id 56605, offset 0, flags [DF], proto: TCP (6), length: 164) 10.1.4.12.ssh > 10.1.4.99.49964: P 48:160(112) ack 1 win 718 <nop,nop,timestamp 2123242756 28297809> 00:18:52.486957 IP (tos 0x10, ttl 64, id 31393, offset 0, flags [DF], proto: TCP (6), length: 52) 10.1.4.99.49964 > 10.1.4.12.ssh: ., cksum 0xce39 (correct), 1:1(0) ack 48 win 501 <nop,nop,timestamp 28297832 2123242756> 00:18:52.486985 IP (tos 0x10, ttl 64, id 31394, offset 0, flags [DF], proto: TCP (6), length: 52) 10.1.4.99.49964 > 10.1.4.12.ssh: ., cksum 0xcdc9 (correct), 1:1(0) ack 160 win 501 <nop,nop,timestamp 28297832 2123242756> 00:18:52.487816 IP (tos 0x0, ttl 64, id 7429, offset 0, flags [DF], proto: UDP (17), length: 68) 10.1.4.12.32986 > 10.1.4.1.domain: [bad udp cksum 7869!] 63212+ PTR? 99.4.1.10.in-addr.arpa. (40) どんな些細な意見でもいいので、皆さんのお力を貸して頂けないでしょうか。どうぞよろしくお願いします。

  • FTPサーバを公開するためのRT58iの設定

    現在、4Gbyte程度の圧縮ファイルを転送する必要があり、windows7にALFTPというFTPサーバソフトをインストールして、IPは192.168.1.149でポートはTCP513番を使用したFTPサーバを作成しました。ローカルネット内でFTP通信を試して見たところ正常にファイルをダウンロードすることなどができることを確認しました。 しかし、ローカルネットのルータyamaha RT58iを通してインターネットでのFTP通信を行おうとしたら、アクセスしてはいるものの、FTPサーバで公開しているファイルを参照できずエラーとなってしまいます。 このエラーになるときの通信をyamaha RT58のログに残っていないか参照して見たところ、 2012/02/01 19:41:27: [HTTPD] Illegal Request (TCP Connection failure, 192.168.1.149) 2012/02/01 19:41:27: HTTPD: accept error 2012/02/01 19:41:29: same message repeated 3 times 2012/02/01 19:41:29: [HTTPD] Illegal Request (TCP Connection failure, 192.168.1.149) 2012/02/01 19:41:29: HTTPD: accept error 2012/02/01 19:41:46: same message repeated 3 times 2012/02/01 19:41:46: [HTTPD] Illegal Request (TCP Connection failure, 192.168.1.149) 2012/02/01 19:41:46: same message repeated 1 times 2012/02/01 19:41:46: HTTPD: accept error このようなエラーログが残っていることがわかりました。 たぶんこのルータのファイアーウォール設定などに問題があるのではないかと思っています。 次の設定で何か修正した方が良い箇所などご指定頂けませんでしょうか? どうぞ、ご教授の程よろしくお願い致します。 # # IP filter configuration # ip filter 100000 reject * * udp,tcp 135 * ip filter 100001 reject * * udp,tcp * 135 ip filter 100002 reject * * udp,tcp netbios_ns-netbios_dgm * ip filter 100003 reject * * udp,tcp * netbios_ns-netbios_dgm ip filter 100004 reject * * udp,tcp netbios_ssn * ip filter 100005 reject * * udp,tcp * netbios_ssn ip filter 100006 reject * * udp,tcp 445 * ip filter 100007 reject * * udp,tcp * 445 ip filter 100099 pass * * * * * ip filter 200000 reject 10.0.0.0/8 * * * * ip filter 200001 reject 172.16.0.0/12 * * * * ip filter 200002 reject 192.168.0.0/16 * * * * ip filter 200003 reject 192.168.1.0/24 * * * * ip filter 200004 pass * * * * 6112 ip filter 200005 pass * * * * * ip filter 200010 reject * 10.0.0.0/8 * * * ip filter 200011 reject * 172.16.0.0/12 * * * ip filter 200012 reject * 192.168.0.0/16 * * * ip filter 200013 reject * 192.168.1.0/24 * * * ip filter 200020 reject * * udp,tcp 135 * ip filter 200021 reject * * udp,tcp * 135 ip filter 200022 reject * * udp,tcp netbios_ns-netbios_ssn * ip filter 200023 reject * * udp,tcp * netbios_ns-netbios_ssn ip filter 200024 reject * * udp,tcp 445 * ip filter 200025 reject * * udp,tcp * 445 ip filter 200026 restrict * * tcpfin * www,21,nntp ip filter 200027 restrict * * tcprst * www,21,nntp ip filter 200030 pass * 192.168.1.0/24 icmp * * ip filter 200031 pass * 192.168.1.0/24 established * * ip filter 200032 pass * 192.168.1.0/24 tcp * ident ip filter 200033 pass * 192.168.1.0/24 tcp ftpdata * ip filter 200034 pass * 192.168.1.0/24 tcp,udp * domain ip filter 200035 pass * 192.168.1.0/24 udp domain * ip filter 200036 pass * 192.168.1.0/24 udp * ntp ip filter 200037 pass * 192.168.1.0/24 udp ntp * ip filter 200080 pass * 192.168.1.1 tcp * 1723 ip filter 200081 pass * * gre * * ip filter 200082 pass-log * * * * 513 ip filter 200083 pass * * * * 514 ip filter 200084 pass-log * * * * 5000-5001 ip filter 200085 pass * * * * 5002-5017 ip filter 200096 pass-log * * * * 5004 ip filter 200097 pass * * * * 21,smtp,domain,www,pop3,https,587,1723,5000,5001 ip filter 200098 reject-nolog * * established ip filter 200099 pass * * * * * ip filter 500000 restrict * * * * * # # IP dynamic filter configuration # ip filter dynamic 200080 * * ftp ip filter dynamic 200081 * * domain ip filter dynamic 200082 * * www ip filter dynamic 200083 * * smtp ip filter dynamic 200084 * * pop3 ip filter dynamic 200098 * * tcp ip filter dynamic 200099 * * udp ---------(中略)------------------------------------------ nat descriptor type 1 masquerade nat descriptor address outer 1 ***.***.***.186 nat descriptor address inner 1 192.168.1.149 192.168.1.150 nat descriptor masquerade static 1 1 192.168.1.149 tcp login nat descriptor masquerade static 1 2 192.168.1.150 tcp 514