2014-03-27 1 views
0

CentOS 6.5에 별표 + FreePBX를 설치했습니다.별표가 Wi-Fi 네트워크에서만 소리를들을 수 없음

Case 1 
Asterisk + FreePBX + CentOS 6.5 
Phone A - Android 4G newtork (Linphone, PCMA codec) 
Phone B - Android Wifi network (Linphone, PCMA codec) 
If I can make a call to Phone B from Phone A, it works and answers the phone. 
However, I can only hear sound from Phone A when I speak on Phone B. 

NAT 문제라고 생각하고 모든 방화벽에서 별표를 확인했습니다. Wifi 네트워크에서도 문제 없습니다. NAT 설정을 올바르게 변경하는 방법이 있습니까? 고맙습니다.

다음은 전화를 걸고 전화로 이야기 할 때 별표 CLI 로그입니다.

== Using SIP RTP TOS bits 184 
    == Using SIP RTP CoS mark 5 
    -- Executing [[email protected]:1] Set("SIP/1003-0000005e", "__RINGTIMER=15") in new stack 
    -- Executing [[email protected]:2] Macro("SIP/1003-0000005e", "exten-vm,novm,1004,0,0,0") in new stack 
    -- Executing [[email protected]:1] Macro("SIP/1003-0000005e", "user-callerid,") in new stack 
    -- Executing [[email protected]:1] Set("SIP/1003-0000005e", "TOUCH_MONITOR=1395938841.94") in new stack 
    -- Executing [[email protected]:2] Set("SIP/1003-0000005e", "AMPUSER=1003") in new stack 
    -- Executing [[email protected]:3] GotoIf("SIP/1003-0000005e", "0?report") in new stack 
    -- Executing [[email protected]:4] ExecIf("SIP/1003-0000005e", "1?Set(REALCALLERIDNUM=1003)") in new stack 
    -- Executing [[email protected]:5] Set("SIP/1003-0000005e", "AMPUSER=1003") in new stack 
    -- Executing [[email protected]:6] GotoIf("SIP/1003-0000005e", "0?limit") in new stack 
    -- Executing [[email protected]:7] Set("SIP/1003-0000005e", "AMPUSERCIDNAME=Third") in new stack 
    -- Executing [[email protected]:8] GotoIf("SIP/1003-0000005e", "0?report") in new stack 
    -- Executing [[email protected]:9] Set("SIP/1003-0000005e", "AMPUSERCID=1003") in new stack 
    -- Executing [[email protected]:10] Set("SIP/1003-0000005e", "__DIAL_OPTIONS=Ttr") in new stack 
    -- Executing [[email protected]:11] Set("SIP/1003-0000005e", "CALLERID(all)="Third" <1003>") in new stack 
    -- Executing [[email protected]:12] GotoIf("SIP/1003-0000005e", "0?limit") in new stack 
    -- Executing [[email protected]:13] ExecIf("SIP/1003-0000005e", "0?Set(GROUP(concurrency_limit)=1003)") in new stack 
    -- Executing [[email protected]:14] GosubIf("SIP/1003-0000005e", "7?sub-ccss,s,1(macro-exten-vm,1004)") in new stack 
    -- Executing [[email protected]:1] ExecIf("SIP/1003-0000005e", "0?Return()") in new stack 
    -- Executing [[email protected]:2] Set("SIP/1003-0000005e", "CCSS_SETUP=TRUE") in new stack 
    -- Executing [[email protected]:3] GosubIf("SIP/1003-0000005e", "0?monitor_config,1(macro-exten-vm,1004):monitor_default,1(macro-exten-vm,1004)") in new stack 
    -- Executing [[email protected]:1] GotoIf("SIP/1003-0000005e", "1?is_exten") in new stack 
    -- Goto (sub-ccss,monitor_default,4) 
    -- Executing [mo[email protected]:4] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_monitor_policy)=generic") in new stack 
    -- Executing [[email protected]:5] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_max_monitors)=5") in new stack 
    -- Executing [[email protected]:6] Return("SIP/1003-0000005e", "TRUE") in new stack 
    -- Executing [[email protected]:4] GosubIf("SIP/1003-0000005e", "7?agent_config,1():agent_default,1()") in new stack 
    -- Executing [[email protected]:1] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_agent_policy)=generic") in new stack 
    -- Executing [[email protected]:2] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_offer_timer)=30") in new stack 
    -- Executing [[email protected]:3] Set("SIP/1003-0000005e", "CALLCOMPLETION(ccbs_available_timer)=") in new stack 
    -- Executing [[email protected]:4] Set("SIP/1003-0000005e", "CALLCOMPLETION(ccnr_available_timer)=") in new stack 
    -- Executing [[email protected]:5] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_callback_macro)=ccss-default") in new stack 
    -- Executing [[email protected]:6] ExecIf("SIP/1003-0000005e", "1?Set(CALLCOMPLETION(cc_recall_timer)=)") in new stack 
    -- Executing [[email protected]:7] ExecIf("SIP/1003-0000005e", "1?Set(CALLCOMPLETION(cc_max_agents)=)") in new stack 
    -- Executing [[email protected]:8] ExecIf("SIP/1003-0000005e", "0?Set(CALLCOMPLETION(cc_agent_dialstring)=Local/[email protected])") in new stack 
    -- Executing [[email protected]:9] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_callback_macro)=ccss-default") in new stack 
    -- Executing [[email protected]:10] Return("SIP/1003-0000005e", "") in new stack 
    -- Executing [[email protected]:5] Set("SIP/1003-0000005e", "DB(AMPUSER/1003/ccss/last_number)=1004") in new stack 
    -- Executing [[email protected]:6] Return("SIP/1003-0000005e", "") in new stack 
    -- Executing [[email protected]:15] ExecIf("SIP/1003-0000005e", "0?Set(CHANNEL(language)=)") in new stack 
    -- Executing [[email protected]:16] GotoIf("SIP/1003-0000005e", "0?continue") in new stack 
    -- Executing [[email protected]:17] ExecIf("SIP/1003-0000005e", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack 
    -- Executing [[email protected]:18] Set("SIP/1003-0000005e", "__TTL=64") in new stack 
    -- Executing [[email protected]:19] GotoIf("SIP/1003-0000005e", "1?continue") in new stack 
    -- Goto (macro-user-callerid,s,30) 
    -- Executing [[email protected]:30] Set("SIP/1003-0000005e", "CALLERID(number)=1003") in new stack 
    -- Executing [[email protected]:31] Set("SIP/1003-0000005e", "CALLERID(name)=Third") in new stack 
    -- Executing [[email protected]:32] Set("SIP/1003-0000005e", "CDR(cnum)=1003") in new stack 
    -- Executing [[email protected]:33] Set("SIP/1003-0000005e", "CDR(cnam)=Third") in new stack 
    -- Executing [[email protected]:34] Set("SIP/1003-0000005e", "CHANNEL(language)=en") in new stack 
    -- Executing [[email protected]:2] Set("SIP/1003-0000005e", "RingGroupMethod=none") in new stack 
    -- Executing [[email protected]:3] Set("SIP/1003-0000005e", "__EXTTOCALL=1004") in new stack 
    -- Executing [[email protected]:4] Set("SIP/1003-0000005e", "__PICKUPMARK=1004") in new stack 
    -- Executing [[email protected]:5] Set("SIP/1003-0000005e", "RT=") in new stack 
    -- Executing [[email protected]:6] ExecIf("SIP/1003-0000005e", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack 
    -- Executing [[email protected]:7] ExecIf("SIP/1003-0000005e", "0?MacroExit()") in new stack 
    -- Executing [[email protected]:8] Gosub("SIP/1003-0000005e", "sub-record-check,s,1(exten,1004,)") in new stack 
    -- Executing [[email protected]:1] Set("SIP/1003-0000005e", "REC_POLICY_MODE_SAVE=") in new stack 
    -- Executing [[email protected]:2] GotoIf("SIP/1003-0000005e", "1?check") in new stack 
    -- Goto (sub-record-check,s,7) 
    -- Executing [[email protected]:7] Set("SIP/1003-0000005e", "__MON_FMT=wav") in new stack 
    -- Executing [[email protected]:8] GotoIf("SIP/1003-0000005e", "1?next") in new stack 
    -- Goto (sub-record-check,s,11) 
    -- Executing [[email protected]:11] ExecIf("SIP/1003-0000005e", "0?Return()") in new stack 
    -- Executing [[email protected]:12] ExecIf("SIP/1003-0000005e", "0?Set(__REC_POLICY_MODE=)") in new stack 
    -- Executing [[email protected]:13] GotoIf("SIP/1003-0000005e", "0?exten,1") in new stack 
    -- Executing [[email protected]:14] Set("SIP/1003-0000005e", "__REC_STATUS=INITIALIZED") in new stack 
    -- Executing [[email protected]:15] Set("SIP/1003-0000005e", "NOW=1395938841") in new stack 
    -- Executing [[email protected]:16] Set("SIP/1003-0000005e", "__DAY=28") in new stack 
    -- Executing [[email protected]:17] Set("SIP/1003-0000005e", "__MONTH=03") in new stack 
    -- Executing [[email protected]:18] Set("SIP/1003-0000005e", "__YEAR=2014") in new stack 
    -- Executing [[email protected]:19] Set("SIP/1003-0000005e", "__TIMESTR=20140328-014721") in new stack 
    -- Executing [[email protected]:20] Set("SIP/1003-0000005e", "__FROMEXTEN=1003") in new stack 
    -- Executing [[email protected]:21] Set("SIP/1003-0000005e", "__CALLFILENAME=exten-1004-1003-20140328-014721-1395938841.94") in new stack 
    -- Executing [[email protected]:22] Goto("SIP/1003-0000005e", "exten,1") in new stack 
    -- Goto (sub-record-check,exten,1) 
    -- Executing [[email protected]:1] GotoIf("SIP/1003-0000005e", "0?callee") in new stack 
    -- Executing [[email protected]:2] Set("SIP/1003-0000005e", "__REC_POLICY_MODE=dontcare") in new stack 
    -- Executing [[email protected]:3] GotoIf("SIP/1003-0000005e", "1?caller") in new stack 
    -- Goto (sub-record-check,exten,10) 
    -- Executing [[email protected]:10] Set("SIP/1003-0000005e", "__REC_POLICY_MODE=dontcare") in new stack 
    -- Executing [[email protected]:11] GosubIf("SIP/1003-0000005e", "0?record,1(exten,1004,1003)") in new stack 
    -- Executing [[email protected]:12] Return("SIP/1003-0000005e", "") in new stack 
    -- Executing [[email protected]:9] GotoIf("SIP/1003-0000005e", "1?macrodial") in new stack 
    -- Goto (macro-exten-vm,s,15) 
    -- Executing [[email protected]:15] GosubIf("SIP/1003-0000005e", "0?clrheader,1()") in new stack 
    -- Executing [[email protected]:16] Macro("SIP/1003-0000005e", "dial-one,,Ttr,1004") in new stack 
    -- Executing [[email protected]:1] Set("SIP/1003-0000005e", "DEXTEN=1004") in new stack 
    -- Executing [[email protected]:2] Set("SIP/1003-0000005e", "DIALSTATUS_CW=") in new stack 
    -- Executing [[email protected]:3] GosubIf("SIP/1003-0000005e", "0?screen,1()") in new stack 
    -- Executing [[email protected]:4] GosubIf("SIP/1003-0000005e", "0?cf,1()") in new stack 
    -- Executing [[email protected]:5] GotoIf("SIP/1003-0000005e", "1?skip1") in new stack 
    -- Goto (macro-dial-one,s,8) 
    -- Executing [[email protected]:8] GotoIf("SIP/1003-0000005e", "0?nodial") in new stack 
    -- Executing [[email protected]:9] GotoIf("SIP/1003-0000005e", "0?continue") in new stack 
    -- Executing [[email protected]:10] Set("SIP/1003-0000005e", "EXTHASCW=ENABLED") in new stack 
    -- Executing [[email protected]:11] GotoIf("SIP/1003-0000005e", "0?next1:cwinusebusy") in new stack 
    -- Goto (macro-dial-one,s,23) 
    -- Executing [[email protected]:23] GotoIf("SIP/1003-0000005e", "1?next3:continue") in new stack 
    -- Goto (macro-dial-one,s,24) 
    -- Executing [[email protected]:24] ExecIf("SIP/1003-0000005e", "0?Set(DIALSTATUS_CW=BUSY)") in new stack 
    -- Executing [[email protected]:25] GotoIf("SIP/1003-0000005e", "0?nodial") in new stack 
    -- Executing [[email protected]:26] GosubIf("SIP/1003-0000005e", "1?dstring,1():dlocal,1()") in new stack 
    -- Executing [[email protected]:1] Set("SIP/1003-0000005e", "DSTRING=") in new stack 
    -- Executing [[email protected]:2] Set("SIP/1003-0000005e", "DEVICES=1004") in new stack 
    -- Executing [[email protected]:3] ExecIf("SIP/1003-0000005e", "0?Return()") in new stack 
    -- Executing [[email protected]:4] ExecIf("SIP/1003-0000005e", "0?Set(DEVICES=004)") in new stack 
    -- Executing [[email protected]:5] Set("SIP/1003-0000005e", "LOOPCNT=1") in new stack 
    -- Executing [[email protected]:6] Set("SIP/1003-0000005e", "ITER=1") in new stack 
    -- Executing [[email protected]:7] Set("SIP/1003-0000005e", "THISDIAL=SIP/1004") in new stack 
    -- Executing [[email protected]:8] GosubIf("SIP/1003-0000005e", "1?zap2dahdi,1()") in new stack 
    -- Executing [[email protected]:1] ExecIf("SIP/1003-0000005e", "0?Return()") in new stack 
    -- Executing [[email protected]:2] Set("SIP/1003-0000005e", "NEWDIAL=") in new stack 
    -- Executing [[email protected]:3] Set("SIP/1003-0000005e", "LOOPCNT2=1") in new stack 
    -- Executing [[email protected]:4] Set("SIP/1003-0000005e", "ITER2=1") in new stack 
    -- Executing [[email protected]:5] Set("SIP/1003-0000005e", "THISPART2=SIP/1004") in new stack 
    -- Executing [[email protected]:6] ExecIf("SIP/1003-0000005e", "0?Set(THISPART2=DAHDI/1004)") in new stack 
    -- Executing [[email protected]:7] Set("SIP/1003-0000005e", "NEWDIAL=SIP/1004&") in new stack 
    -- Executing [[email protected]:8] Set("SIP/1003-0000005e", "ITER2=2") in new stack 
    -- Executing [[email protected]:9] GotoIf("SIP/1003-0000005e", "0?begin2") in new stack 
    -- Executing [[email protected]:10] Set("SIP/1003-0000005e", "THISDIAL=SIP/1004") in new stack 
    -- Executing [[email protected]:11] Return("SIP/1003-0000005e", "") in new stack 
    -- Executing [[email protected]:9] Set("SIP/1003-0000005e", "DSTRING=SIP/1004&") in new stack 
    -- Executing [[email protected]:10] Set("SIP/1003-0000005e", "ITER=2") in new stack 
    -- Executing [[email protected]:11] GotoIf("SIP/1003-0000005e", "0?begin") in new stack 
    -- Executing [[email protected]:12] Set("SIP/1003-0000005e", "DSTRING=SIP/1004") in new stack 
    -- Executing [[email protected]:13] Return("SIP/1003-0000005e", "") in new stack 
    -- Executing [[email protected]:27] GotoIf("SIP/1003-0000005e", "0?nodial") in new stack 
    -- Executing [[email protected]:28] GotoIf("SIP/1003-0000005e", "0?skiptrace") in new stack 
    -- Executing [[email protected]:29] GosubIf("SIP/1003-0000005e", "1?ctset,1():ctclear,1()") in new stack 
    -- Executing [[email protected]:1] Set("SIP/1003-0000005e", "DB(CALLTRACE/1004)=1003") in new stack 
    -- Executing [[email protected]:2] Return("SIP/1003-0000005e", "") in new stack 
    -- Executing [[email protected]:30] Set("SIP/1003-0000005e", "D_OPTIONS=Ttr") in new stack 
    -- Executing [[email protected]:31] ExecIf("SIP/1003-0000005e", "0?SIPAddHeader(Alert-Info:)") in new stack 
    -- Executing [[email protected]:32] ExecIf("SIP/1003-0000005e", "0?SIPAddHeader()") in new stack 
    -- Executing [[email protected]:33] ExecIf("SIP/1003-0000005e", "0?Set(CHANNEL(musicclass)=)") in new stack 
    -- Executing [[email protected]:34] GosubIf("SIP/1003-0000005e", "0?qwait,1()") in new stack 
    -- Executing [[email protected]:35] Set("SIP/1003-0000005e", "__CWIGNORE=") in new stack 
    -- Executing [[email protected]:36] Set("SIP/1003-0000005e", "__KEEPCID=TRUE") in new stack 
    -- Executing [[email protected]:37] GotoIf("SIP/1003-0000005e", "0?usegoto,1") in new stack 
    -- Executing [[email protected]:38] GotoIf("SIP/1003-0000005e", "0?godial") in new stack 
    -- Executing [[email protected]:39] Gosub("SIP/1003-0000005e", "sub-presencestate-display,s,1(1004)") in new stack 
    -- Executing [[email protected]:1] Goto("SIP/1003-0000005e", "state-,1") in new stack 
    -- Goto (sub-presencestate-display,state-,1) 
    -- Executing [[email protected]:1] Set("SIP/1003-0000005e", "PRESENCESTATE_DISPLAY=") in new stack 
    -- Executing [[email protected]:2] Return("SIP/1003-0000005e", "") in new stack 
    -- Executing [[email protected]:40] Set("SIP/1003-0000005e", "CONNECTEDLINE(name,i)=fourth") in new stack 
    -- Executing [[email protected]:41] Set("SIP/1003-0000005e", "CONNECTEDLINE(num)=1004") in new stack 
    -- Executing [[email protected]:42] Set("SIP/1003-0000005e", "D_OPTIONS=TtrI") in new stack 
    -- Executing [[email protected]:43] Dial("SIP/1003-0000005e", "SIP/1004,,TtrI") in new stack 
    == Using SIP RTP TOS bits 184 
    == Using SIP RTP CoS mark 5 
    -- Called SIP/1004 
    -- Connected line update to SIP/1003-0000005e prevented. 
    -- SIP/1004-0000005f is ringing 
    -- SIP/1004-0000005f is ringing 
    -- Connected line update to SIP/1003-0000005e prevented. 
    -- SIP/1004-0000005f answered SIP/1003-0000005e 

=========================================== ==================================

SIP 접촉

안드로이드 와이파이에

Addr->IP  : 14.63.12.134:5060 
Reg. Contact : sip:[email protected] 

안드로이드 4G에서 LTE

Addr->IP  : 223.62.202.25:58184 
Reg. Contact : sip:[email protected]:58184 

Wifi에서 Android가 올바른 주소를 찾지 못했습니다. 음성을 전송할 특정 포트를 표시하지 않습니다.

+1

'asterisk -rvvvvv'의 결과는 무엇이고'sip debug'또는'sip set debug on'을 시도하고 "nat"과 "qualify"(http://www.voip-info.org/wiki/)를 구성하십시오. 보기/별표 + sip + nat) – pce

+0

나는 별표 로그를 올렸다. 괜찮아 보인다. – Jake

+1

라우터/방화벽에서 별표로 표시된 SIP 포트 _ (UDP 5060, 10000-20000)을 이미 __forward 하시겠습니까? 당신은 rtp 디버그에서 ip를 검사 할 필요가 있습니다 :'RTP packet from ','RTP packet을 에게 보냈습니다'와 같은 것이 보일 것입니다. sip.conf의 "일반"컨텍스트 설정에서 NAT 활성화 :'nat = yes','externip = <실제 IP>','localnet = '. – pce

답변

1

그게 내가 plain-clean Asterisk를 좋아하는 이유입니다. 한 번의 호출로 콘솔이 이렇게 범람하지 않습니다. :)

코덱이 괜찮다면 오디오 RTP가 전화기에 도달하지 않은 것입니다. 코덱 정보

> sip show peer 1003 

봐 : 그것이 SIP 메시지를 INVITE 검사 어디 전송되는 수표 (1003 가정하는 것은 작동하지 않는 전화입니다). 괜찮 으면 NAT를 조사하십시오. 상태 헤더 '이봐, 여기에 다시 나에게 연락'

> sip set debug on peer 1003 

그런 다음, 특별히 연락하여 헤더를 확인 :
> sip set debug on 

또는 특정 피어

가 설정합니다.

호출이 생성되면 제어 신호가 전달됨을 의미합니다 (두 전화기 중 하나에서 전화를 걸고 HANGUP 할 수 있음). 그런 다음 코덱 문제 일 가능성이 큽니다. 컨트롤이 100 % 괜찮지 않은 경우 (예를 들어 한 전화에서 HANGUP하고 다른 사용자가 모르는 경우) 네트워크 문제 일 수 있습니다.

희망이 있습니다.

+0

코덱은 괜찮아. 둘 다 G.711 PCMA 코덱을 사용합니다. – Jake

+1

그런 다음 SIP 디버그를 사용하여 오디오 송수신 위치를 확인하십시오. – CharlieBrown

+0

SIP 기록을 첨부했습니다. – Jake

관련 문제