별표를 통해 음성 녹음 및 듣기

주간 공유



안녕하세요 여러분, 저는 신입 부트캠프 졸업생이자 IT 도우미인 Ekim입니다(아직은 감히 프로그래머라고 부를 수 없습니다). 매주 금요일, 여러분의 피드백을 받고 프로그래머가 되기 위한 여정을 기록하기 위해 지난 주에 제가 한 작업의 일부를 공유할 것입니다.

이전에



소개



지난주는 꽤 흐릿한 여정이었습니다. 많은 구체적인 출력이 이루어지지 않았습니다. 진행이 더디긴 하지만 그래도 Asterisk를 통해 오디오를 녹음하고 재생하는 방법을 공유하고자 합니다.

41XXXX로 전화를 걸어 녹음



소프트폰에 대해 엔드포인트 1114를 생성해 보겠습니다.
  • pjsip.conf에서,

  • ;================================ TRANSPORTS ==
    ; Our primary transport definition for UDP communication behind NAT.
    [transport-udp-nat]
    type = transport
    protocol = udp
    bind = 0.0.0.0
    ; NAT settings
    ;local_net = 10.0.0.0/8
    ;external_media_address = 203.0.113.1
    ;external_signaling_address = 203.0.113.1
    
    ;================================ CONFIG FOR SIP ITSP ==
    
    [endpoint-useragent](!)
    type=endpoint
    context=recordAndPlayback
    allow = !all,ulaw,alaw
    direct_media=no
    trust_id_outbound=yes
    rtp_symmetric=yes
    force_rport=yes
    rewrite_contact=yes
    device_state_busy_at=1
    dtmf_mode=rfc4733
    
    [auth-userpass](!)
    type = auth
    auth_type = userpass
    
    [aor-single-reg](!)
    type = aor
    max_contacts = 1
    
    [1114](endpoint-useragent)
    auth=1114
    aors=1114
    callerid = 1114 <1114>
    
    [1114](auth-userpass)
    password = 1114
    username = 1114
    


    여기서 내가 하고 싶은 것은 41로 시작하고 그 뒤에 임의의 4자리 숫자가 오는 번호로 전화를 걸어 소프트폰에 내 목소리를 녹음하는 것입니다. 그런 다음 42 + 방금 전화를 건 4자리를 누를 때 내 목소리를 다시 듣고 싶습니다.
  • 따라서 extensions.conf에서

  • [recordAndPlayback]
    exten = _41XXXX,1,Answer
    same = n,Record(record/${EXTEN:2}.gsm)      ; record your voice and save it in the name of XXXX, the any 4 digits you dialed and in .gsm format
    same = n,Wait(1)
    same = n,Hangup()
    
    exten = _42XXXX,1,Answer
    same = n,Wait(1)
    same = n,Playback(record/${EXTEN:2})        ; play the audio file you recorded from /var/lib/asterisk/sounds/record
    same = n,Wait(1)
    same = n,Hangup()
    


    그런 다음 load = app_record.somodules.conf 를 추가하십시오.

    ;Application
    load = app_bridgewait.so
    load = app_dial.so
    load = app_playback.so
    load = app_stack.so
    load = app_verbose.so
    load = app_voicemail.so
    load = app_directory.so
    load = app_confbridge.so
    load = app_queue.so
    load = app_record.so        ; add this into your modules.conf, so that you do not need to load the module every time.
    


    준비를 위해 별표를 다시 시작할 때입니다.

    sudo service asterisk restart
    


    그런 다음 CLI로 이동하여 다이얼 플랜 및 pjsip을 다시 로드해야 합니다.

    sudo asterisk -rvvvvv
    



    dialplan reload
    core reload
    


    소프트폰을 열고 다음 설정을 수행하십시오.


  • SIP 서버와 도메인은 Ubuntu의 IP여야 합니다. 다음 명령으로 확인할 수 있습니다.
    ip addr
  • 소프트폰을 Ubuntu에 연결하는 데 문제가 있는 경우 다음 방화벽 설정을 수행했는지 확인하십시오: https://www.voip-info.org/asterisk-firewall-rules/ .

  • 당신의 목소리를 듣고



    따라서 앞서 언급한 단계를 따랐다면 예를 들어 411234로 전화를 걸어 음성을 녹음할 수 있어야 합니다. 녹음이 끝나면 #을 눌러 통화를 종료합니다. 통화를 바로 종료하지 마십시오. 그렇지 않으면 녹음이 저장되지 않습니다.



    목소리를 녹음한 후에는 방금 욕한 욕설을 감상할 시간입니다. (네, 알아요!!!! 우리 모두는 우리 자신에게 그것을합니다.)
    421234로 전화를 걸면 바로 녹음 내용을 들을 수 있습니다.



    결론



    일반적으로 누군가가 오디오 트랙을 녹음하기를 원할 때 녹음을 저장하기 위해 Record를 눌러야 한다는 것을 알지 못하기 때문에 # 다이얼 플랜 응용 프로그램만 단독으로 사용하지는 않습니다. 따라서 음성을 녹음한 후 무엇을 해야 하는지 안내하는 트랙을 녹음하는 것이 좋습니다. 그것이 우리가 다음에 할 일입니다. 당분간 건강하게 지내고 지켜봐주세요!!!

    좋은 웹페이지 즐겨찾기