Mediastreamer2 VoIP แƒซแƒ แƒแƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒ. แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 2

แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒ›แƒแƒกแƒแƒšแƒ แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฉแƒ”แƒ›แƒ˜ แƒ–แƒ”แƒœ แƒแƒ แƒฎแƒ˜.

Mediastreamer2 VoIP แƒซแƒ แƒแƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒ. แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 2

แƒขแƒแƒœแƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ

แƒฌแƒ˜แƒœแƒ แƒ›แƒฃแƒฎแƒšแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒ›แƒ”แƒ“แƒ˜แƒ แƒกแƒขแƒ แƒ˜แƒ›แƒ”แƒ แƒ˜แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ, แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ•แƒชแƒแƒ“แƒ”แƒ— แƒ›แƒแƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ แƒกแƒแƒชแƒ“แƒ”แƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒ—.

แƒ“แƒฆแƒ”แƒก แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒฎแƒ›แƒ˜แƒก แƒ‘แƒแƒ แƒแƒ—แƒ–แƒ” แƒขแƒแƒœแƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ. แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“ แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒแƒ— แƒคแƒ˜แƒšแƒขแƒ แƒ”แƒ‘แƒ˜ แƒฎแƒ›แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒฌแƒ แƒ”แƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ แƒฅแƒ•แƒ”แƒ›แƒแƒ—:

Mediastreamer2 VoIP แƒซแƒ แƒแƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒ. แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 2

แƒฉแƒ•แƒ”แƒœ แƒ•แƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒแƒ‘แƒ— แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒก แƒ›แƒแƒ แƒชแƒฎแƒœแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒฏแƒ•แƒœแƒ˜แƒ•, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜. แƒ˜แƒกแƒ แƒ”แƒ‘แƒ˜แƒช แƒแƒ›แƒแƒ–แƒ” แƒ›แƒ˜แƒแƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒก. แƒ›แƒแƒ แƒ—แƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ”แƒœ แƒคแƒ˜แƒšแƒขแƒ แƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒแƒฅแƒ•แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜. แƒ›แƒแƒ แƒ—แƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ แƒแƒšแƒ˜ แƒ“แƒ แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒขแƒ˜แƒžแƒ˜ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ˜แƒ“แƒ˜ แƒแƒกแƒแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฅแƒ•แƒ”แƒ›แƒแƒ—. แƒ›แƒแƒ แƒ—แƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒกแƒ แƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒ˜แƒ’แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—แƒแƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ“แƒแƒ”แƒชแƒ”แƒ›แƒ แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒ“แƒแƒœ แƒคแƒ˜แƒšแƒขแƒ แƒแƒ›แƒ“แƒ”. แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒคแƒ˜แƒšแƒขแƒ แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜.

แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒ“แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ“แƒ’แƒ”แƒœแƒก แƒขแƒ”แƒ›แƒžแƒก, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒ—แƒ•แƒšแƒ”แƒ‘แƒ แƒคแƒ˜แƒšแƒขแƒ แƒ”แƒ‘แƒจแƒ˜. แƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒแƒ—แƒ˜แƒก แƒชแƒ˜แƒ™แƒšแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒคแƒ˜แƒšแƒขแƒ แƒ˜ แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒšแƒแƒ™แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒแƒจแƒ˜แƒ. แƒ“แƒ แƒ“แƒ”แƒ‘แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜แƒ— แƒ แƒ˜แƒ’แƒจแƒ˜. แƒฏแƒ”แƒ  แƒกแƒแƒแƒ—แƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒกแƒ—แƒแƒœ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒแƒฎแƒšแƒแƒก แƒ›แƒงแƒแƒคแƒ˜ แƒคแƒ˜แƒšแƒขแƒ แƒ˜ แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ”แƒ‘แƒก, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒคแƒ˜แƒšแƒขแƒ แƒ”แƒ‘แƒ˜ (แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜) แƒ“แƒ แƒ.แƒจ. แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ แƒแƒช แƒฏแƒแƒญแƒ•แƒจแƒ˜ แƒ‘แƒแƒšแƒ แƒคแƒ˜แƒšแƒขแƒ แƒ˜ แƒ“แƒแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒก, แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒฉแƒ”แƒ แƒ“แƒ”แƒ‘แƒ แƒแƒฎแƒแƒšแƒ˜ แƒกแƒแƒแƒ—แƒ˜แƒก แƒ›แƒแƒกแƒ•แƒšแƒแƒ›แƒ“แƒ”. แƒ“แƒแƒ แƒขแƒงแƒ›แƒ”แƒ‘แƒ˜, แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“, แƒ›แƒ˜แƒฐแƒงแƒ•แƒ”แƒ‘แƒ 10 แƒ›แƒ˜แƒšแƒ˜แƒฌแƒแƒ›แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒ•แƒแƒšแƒก.

แƒ“แƒแƒ•แƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒก. แƒกแƒแƒแƒ—แƒ˜แƒก แƒชแƒ˜แƒ™แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ“แƒ˜แƒก แƒ“แƒฃแƒ›แƒ˜แƒšแƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒแƒจแƒ˜; แƒ”แƒก แƒแƒ แƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒœแƒฃแƒšแƒ”แƒ‘แƒก แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ–แƒ” แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒกแƒแƒแƒ—แƒ˜แƒก แƒชแƒ˜แƒ™แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฃ แƒแƒ› แƒ‘แƒšแƒแƒ™แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ—, แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ›แƒ˜แƒก แƒœแƒ˜แƒ›แƒฃแƒจแƒ”แƒ‘แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒกแƒฎแƒ•แƒ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜แƒ, แƒ—แƒฃ แƒแƒ แƒ แƒกแƒ˜แƒฉแƒฃแƒ›แƒ”. แƒ”แƒ แƒ—แƒ˜ แƒจแƒ”แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒฃแƒชแƒœแƒแƒฃแƒ แƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜แƒก แƒ“แƒฃแƒ›แƒ˜แƒšแƒ˜แƒ— แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ - แƒ‘แƒแƒšแƒแƒก แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒกแƒ›แƒ”แƒœแƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒฎแƒ›แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒแƒ› แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒ˜, แƒฉแƒแƒฌแƒ”แƒ แƒก แƒ›แƒแƒ—แƒจแƒ˜ แƒฎแƒ›แƒ˜แƒก แƒœแƒ˜แƒ›แƒฃแƒจแƒ”แƒ‘แƒก. แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ  แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒจแƒ˜, แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ–แƒ”. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ“แƒฃแƒ›แƒ˜แƒšแƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒฃแƒชแƒ•แƒšแƒ”แƒšแƒ˜ แƒ’แƒแƒ“แƒ˜แƒก แƒ›แƒ—แƒ”แƒš แƒฌแƒ แƒ”แƒจแƒ˜ แƒ›แƒแƒ แƒชแƒฎแƒœแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒฏแƒ•แƒœแƒ˜แƒ• แƒ“แƒ แƒ›แƒ—แƒแƒ•แƒ แƒ“แƒ”แƒ‘แƒ แƒฎแƒ›แƒ˜แƒก แƒ‘แƒแƒ แƒแƒ—แƒจแƒ˜. แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒฃแƒ›แƒแƒ“ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก แƒ›แƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒ˜แƒ’แƒ˜แƒ“แƒแƒœ.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒก แƒ›แƒ˜แƒ”แƒชแƒ”แƒ›แƒ แƒฎแƒ›แƒ˜แƒก แƒ“แƒแƒ™แƒ•แƒ แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ, แƒ˜แƒก แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒฎแƒ›แƒ˜แƒก แƒœแƒ˜แƒ›แƒฃแƒจแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒ“แƒ แƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒœแƒ˜แƒ›แƒฃแƒจแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒš แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ–แƒ”. แƒฎแƒ›แƒ˜แƒก แƒ‘แƒแƒ แƒแƒ—แƒ˜ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒฎแƒ›แƒ˜แƒก แƒ“แƒแƒ™แƒ•แƒ แƒแƒก. แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ–แƒ”แƒ›แƒแƒ— แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒš แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒกแƒฅแƒ”แƒ›แƒแƒก:

/* ะคะฐะนะป mstest2.c */
#include <mediastreamer2/msfilter.h>
#include <mediastreamer2/msticker.h>
#include <mediastreamer2/dtmfgen.h>
#include <mediastreamer2/mssndcard.h>
int main()
{
    ms_init();

    /* ะกะพะทะดะฐะตะผ ัะบะทะตะผะฟะปัั€ั‹ ั„ะธะปัŒั‚ั€ะพะฒ. */
    MSFilter  *voidsource = ms_filter_new(MS_VOID_SOURCE_ID);
    MSFilter  *dtmfgen = ms_filter_new(MS_DTMF_GEN_ID);
    MSSndCard *card_playback = ms_snd_card_manager_get_default_card(ms_snd_card_manager_get());
    MSFilter  *snd_card_write = ms_snd_card_create_writer(card_playback);

    /* ะกะพะทะดะฐะตะผ ั‚ะธะบะตั€. */
    MSTicker *ticker = ms_ticker_new();

    /* ะกะพะตะดะธะฝัะตะผ ั„ะธะปัŒั‚ั€ั‹ ะฒ ั†ะตะฟะพั‡ะบัƒ. */
    ms_filter_link(voidsource, 0, dtmfgen, 0);
    ms_filter_link(dtmfgen, 0, snd_card_write, 0);

   /* ะŸะพะดะบะปัŽั‡ะฐะตะผ ะธัั‚ะพั‡ะฝะธะบ ั‚ะฐะบั‚ะพะฒ. */
   ms_ticker_attach(ticker, voidsource);

   /* ะ’ะบะปัŽั‡ะฐะตะผ ะทะฒัƒะบะพะฒะพะน ะณะตะฝะตั€ะฐั‚ะพั€. */
   char key='1';
   ms_filter_call_method(dtmfgen, MS_DTMF_GEN_PLAY, (void*)&key);

   /* ะ”ะฐะตะผ, ะฒั€ะตะผั, ั‡ั‚ะพะฑั‹ ะฒัะต ะฑะปะพะบะธ ะดะฐะฝะฝั‹ั… ะฑั‹ะปะธ ะฟะพะปัƒั‡ะตะฝั‹ ะทะฒัƒะบะพะฒะพะน ะบะฐั€ั‚ะพะน.*/
   ms_sleep(2);   
}

แƒ›แƒ”แƒ“แƒ˜แƒ แƒกแƒขแƒ แƒ˜แƒ›แƒ”แƒ แƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒกแƒแƒ›แƒ˜ แƒคแƒ˜แƒšแƒขแƒ แƒ˜: voidsource, dtmfgen, snd_card_write. แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒฌแƒงแƒแƒ แƒ.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒแƒ— แƒคแƒ˜แƒšแƒขแƒ แƒ”แƒ‘แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒฅแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“ แƒ“แƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒฌแƒงแƒแƒ แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒแƒšแƒแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฌแƒ แƒ” แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก. แƒ—แƒฃ แƒกแƒแƒแƒ—แƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒก แƒ“แƒแƒฃแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ”แƒš แƒฌแƒ แƒ”แƒก แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ—, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒก, แƒ แƒแƒ› แƒ›แƒ”แƒ“แƒ˜แƒ แƒกแƒขแƒ แƒ˜แƒ›แƒ”แƒ แƒ˜ แƒฉแƒแƒ•แƒแƒ แƒ“แƒ”แƒก, แƒ—แƒฃ แƒ˜แƒก แƒแƒฆแƒ›แƒแƒแƒฉแƒ”แƒœแƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒ”แƒ แƒ— แƒคแƒ˜แƒšแƒขแƒ แƒก แƒฏแƒแƒญแƒ•แƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒ— แƒแƒœ แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ โ€žแƒฐแƒแƒ”แƒ แƒจแƒ˜ แƒฉแƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜โ€œ (แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜).

แƒคแƒ˜แƒšแƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

ms_filter_link(src, src_out, dst, dst_in)

แƒกแƒแƒ“แƒแƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒแƒ แƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ›แƒ”แƒแƒ แƒ” แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒแƒ แƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒก แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒœแƒแƒ›แƒ”แƒ แƒ˜ (แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› แƒจแƒ”แƒงแƒ•แƒแƒœแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒแƒœแƒแƒ›แƒ แƒ˜แƒšแƒ˜แƒ แƒœแƒฃแƒšแƒ˜แƒ“แƒแƒœ). แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ›แƒฆแƒ”แƒ‘แƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ›แƒ”แƒแƒ—แƒฎแƒ” แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ›แƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒœแƒแƒ›แƒ”แƒ แƒ˜.

แƒงแƒ•แƒ”แƒšแƒ แƒคแƒ˜แƒšแƒขแƒ แƒ˜ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒกแƒแƒแƒ—แƒ˜แƒก แƒฌแƒงแƒแƒ แƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒแƒšแƒแƒก (แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒจแƒ˜ แƒ›แƒแƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒขแƒ˜แƒ™แƒ”แƒ แƒก แƒ“แƒแƒ•แƒแƒ แƒฅแƒ›แƒ”แƒ•แƒ—). แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒฉแƒ•แƒ”แƒœแƒ˜ แƒฎแƒ›แƒ˜แƒก แƒฌแƒ แƒ” แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ˜แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒ”แƒ‘แƒจแƒ˜ แƒฏแƒ”แƒ  แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒกแƒ›แƒ˜แƒก - แƒฎแƒ›แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ“แƒฃแƒ›แƒ˜แƒšแƒ˜แƒ— แƒ’แƒแƒ“แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒจแƒ˜. แƒขแƒแƒœแƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ”แƒ‘แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ˜.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒแƒ  แƒขแƒแƒœแƒ˜แƒแƒœ (DTMF) แƒกแƒ˜แƒ’แƒœแƒแƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒ แƒขแƒ”แƒšแƒ”แƒคแƒแƒœแƒ–แƒ” "1" แƒฆแƒ˜แƒšแƒแƒ™แƒ–แƒ” แƒ“แƒแƒญแƒ”แƒ แƒแƒก. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก ms_filter_call_method() แƒฉแƒ•แƒ”แƒœ แƒ•แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒ— MS_DTMF_GEN_PLAY แƒ›แƒ”แƒ—แƒแƒ“แƒก, แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒแƒ“ แƒ’แƒแƒ“แƒแƒ•แƒชแƒ”แƒ›แƒ— แƒ™แƒแƒ“แƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ“แƒแƒ™แƒ•แƒ แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜.

แƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ:

$ gcc mstest2.c -o mstest2 `pkg-config mediastreamer --libs --cflags`

แƒ“แƒ แƒ’แƒแƒ˜แƒฅแƒ”แƒชแƒ˜:

$ ./mstest2

แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ˜แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒจแƒ˜ แƒ›แƒแƒ˜แƒกแƒ›แƒ”แƒœแƒ— แƒ›แƒแƒ™แƒšแƒ” แƒฎแƒ›แƒแƒ•แƒแƒœ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒแƒ แƒ˜ แƒขแƒแƒœแƒ˜แƒกแƒแƒ’แƒแƒœ.

แƒฉแƒ•แƒ”แƒœ แƒแƒ•แƒแƒจแƒ”แƒœแƒ”แƒ— แƒ“แƒ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒฎแƒ›แƒ˜แƒก แƒฌแƒ แƒ”. แƒฉแƒ•แƒ”แƒœ แƒ•แƒœแƒแƒฎแƒ”แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒซแƒแƒฎแƒแƒ— แƒ›แƒแƒ—แƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ”แƒ‘แƒ˜. แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ•แƒแƒ แƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ˜แƒœแƒช แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒ•แƒแƒฅแƒชแƒ˜แƒแƒ— แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒ˜แƒ› แƒคแƒแƒฅแƒขแƒก, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ แƒแƒ  แƒแƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒš แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒ’แƒแƒกแƒ•แƒšแƒแƒ›แƒ“แƒ”. แฒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒจแƒ˜ แƒ›แƒฃแƒฎแƒšแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ˜แƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ—แƒแƒ•แƒ˜แƒก แƒ’แƒแƒฌแƒ›แƒ”แƒœแƒ“แƒแƒก.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ