How to use several codec settings

I have the following codecs.conf file:

[opus8k]
type=opus
bitrate=8000
cbr=yes
fec=no
packet_loss=30
application=voip
signal=voice

[opus]
type=opus
bitrate=16000
cbr=yes
fec=no
packet_loss=30
application=voip
signal=voice

How to select exact configuration at call?

You specify the respective one in the “allow” line such as “opus8k” when configuring a PJSIP endpoint, for example.

But when I send in SDP

a=rtpmap:107 opus8k/48000/2

Asterisk answers

SIP/2.0 488 Not Acceptable Here

And there is such line in Asterisk logs:

[2024-05-17 14:54:23] NOTICE[29606]: res_pjsip_sdp_rtp.c:442 set_caps: No joint capabilities for 'audio' media stream between our configuration((ulaw|alaw|opus)) and incoming SDP((nothing))

It doesn’t change the payload name in SDP. It’s still opus there.

It’s strange. I tried this approach previously and it didn’t work. Now it works. May be I missed something.

Thank you!

I found that it works only when device which request 8k initiate call. When we make a call to this device then this device send packets with low bitrate but another client send packets with high bitrate.

I use Asterisk 16.30.0 (FreePBX)

Asterisk 16 no longer receives any changes. Also providing a screenshot of a few lines of wireshark isn’t really helpful. You need to provide the SIP trace using “pjsip set logger on”.

I cannot upload log file. It say “Sorry, new users can not upload attachments.”.


<--- Received SIP request (1180 bytes) from UDP:---.---.---.---:43658 --->
INVITE sip:1004@example.domain.com SIP/2.0
Via: SIP/2.0/UDP 192.168.0.249:43658;branch=z9hG4bK.BMykOTOwm;rport
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: sip:1004@example.domain.com
CSeq: 20 INVITE
Call-ID: bZt-YqVj-0
Max-Forwards: 70
Route: <sip:example.domain.com:54654;transport=udp;lr>
Supported: replaces, outbound, gruu, path, record-aware
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO, PRACK, UPDATE
Content-Type: application/sdp
Content-Length: 352
Contact: <sip:1002@---.---.---.---:43658;transport=udp>;expires=3599;+org.linphone.specs="conference/1.0,ephemeral/1.1,groupchat/1.2"
User-Agent: LinphoneAndroid/5.2.5 (Galaxy S22 Ultra) LinphoneSDK/5.3.47 (tags/5.3.47^0)

v=0
o=1002 4088 3367 IN IP4 192.168.0.249
s=Talk
c=IN IP4 192.168.0.249
t=0 0
a=rtcp-xr:rcvr-rtt=all:10000 stat-summary=loss,dup,jitt,TTL voip-metrics
a=record:off
m=audio 50351 RTP/AVP 96 101
a=rtpmap:96 opus/48000/2
a=fmtp:96 useinbandfec=1
a=rtpmap:101 telephone-event/48000
a=rtcp:38883
a=rtcp-fb:* trr-int 1000
a=rtcp-fb:* ccm tmmbr

<--- Transmitting SIP response (513 bytes) to UDP:---.---.---.---:43658 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.0.249:43658;rport=43658;received=---.---.---.---;branch=z9hG4bK.BMykOTOwm
Call-ID: bZt-YqVj-0
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: <sip:1004@example.domain.com>;tag=z9hG4bK.BMykOTOwm
CSeq: 20 INVITE
WWW-Authenticate: Digest realm="asterisk",nonce="1716821236/a5ceb778fdb9e7cad9e9da49444a4d22",opaque="73b17a5e6b78da1b",algorithm=MD5,qop="auth"
Server: FPBX-16.0.40.4(16.30.0)
Content-Length:  0


<--- Received SIP request (550 bytes) from UDP:---.---.---.---:43658 --->
ACK sip:1004@example.domain.com SIP/2.0
Via: SIP/2.0/UDP 192.168.0.249:43658;branch=z9hG4bK.BMykOTOwm;rport
Call-ID: bZt-YqVj-0
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: <sip:1004@example.domain.com>;tag=z9hG4bK.BMykOTOwm
Contact: <sip:1002@---.---.---.---:43658;transport=udp>;expires=3599;+org.linphone.specs="conference/1.0,ephemeral/1.1,groupchat/1.2"
Route: <sip:example.domain.com:54654;transport=udp;lr>
Max-Forwards: 70
CSeq: 20 ACK


<--- Received SIP request (1486 bytes) from UDP:---.---.---.---:43658 --->
INVITE sip:1004@example.domain.com SIP/2.0
Via: SIP/2.0/UDP 192.168.0.249:43658;branch=z9hG4bK.dD4MnkpCC;rport
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: sip:1004@example.domain.com
CSeq: 21 INVITE
Call-ID: bZt-YqVj-0
Max-Forwards: 70
Route: <sip:example.domain.com:54654;transport=udp;lr>
Supported: replaces, outbound, gruu, path, record-aware
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO, PRACK, UPDATE
Content-Type: application/sdp
Content-Length: 352
Contact: <sip:1002@---.---.---.---:43658;transport=udp>;expires=3599;+org.linphone.specs="conference/1.0,ephemeral/1.1,groupchat/1.2"
User-Agent: LinphoneAndroid/5.2.5 (Galaxy S22 Ultra) LinphoneSDK/5.3.47 (tags/5.3.47^0)
Authorization:  Digest realm="asterisk", nonce="1716821236/a5ceb778fdb9e7cad9e9da49444a4d22", algorithm=MD5, opaque="73b17a5e6b78da1b", username="1002",  uri="sip:1004@example.domain.com", response="006f9bb249524f3aee9ee347b97a30b4", cnonce="imbMEYo-Iijm-zlI", nc=00000001, qop=auth

v=0
o=1002 4088 3367 IN IP4 192.168.0.249
s=Talk
c=IN IP4 192.168.0.249
t=0 0
a=rtcp-xr:rcvr-rtt=all:10000 stat-summary=loss,dup,jitt,TTL voip-metrics
a=record:off
m=audio 50351 RTP/AVP 96 101
a=rtpmap:96 opus/48000/2
a=fmtp:96 useinbandfec=1
a=rtpmap:101 telephone-event/48000
a=rtcp:38883
a=rtcp-fb:* trr-int 1000
a=rtcp-fb:* ccm tmmbr

<--- Transmitting SIP response (339 bytes) to UDP:---.---.---.---:43658 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.0.249:43658;rport=43658;received=---.---.---.---;branch=z9hG4bK.dD4MnkpCC
Call-ID: bZt-YqVj-0
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: <sip:1004@example.domain.com>
CSeq: 21 INVITE
Server: FPBX-16.0.40.4(16.30.0)
Content-Length:  0


  == Using SIP RTP Audio TOS bits 184
  == Using SIP RTP Audio TOS bits 184 in TCLASS field.
  == Using SIP RTP Audio CoS mark 5
    -- Executing [1004@from-internal:1] GotoIf("PJSIP/1002-0000000a", "0?ext-local,*1004,1") in new stack
    -- Executing [1004@from-internal:2] GotoIf("PJSIP/1002-0000000a", "1?ext-local,1004,1:followme-check,1004,1") in new stack
    -- Goto (ext-local,1004,1)
    -- Executing [1004@ext-local:1] Set("PJSIP/1002-0000000a", "__RINGTIMER=15") in new stack
    -- Executing [1004@ext-local:2] ExecIf("PJSIP/1002-0000000a", "0?Set(__CWIGNORE=)") in new stack
    -- Executing [1004@ext-local:3] Macro("PJSIP/1002-0000000a", "exten-vm,novm,1004,0,0,0") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("PJSIP/1002-0000000a", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("PJSIP/1002-0000000a", "TOUCH_MONITOR=1716821236.10") in new stack
    -- Executing [s@macro-user-callerid:2] Set("PJSIP/1002-0000000a", "CHANCONTEXT=") in new stack
    -- Executing [s@macro-user-callerid:3] Set("PJSIP/1002-0000000a", "CHANCONTEXT=") in new stack
    -- Executing [s@macro-user-callerid:4] Set("PJSIP/1002-0000000a", "CHANEXTENCONTEXT=1002-0000000a") in new stack
    -- Executing [s@macro-user-callerid:5] Set("PJSIP/1002-0000000a", "CHANEXTEN=1002-0000000a") in new stack
    -- Executing [s@macro-user-callerid:6] Set("PJSIP/1002-0000000a", "CALLERID(number)=1002") in new stack
    -- Executing [s@macro-user-callerid:7] Set("PJSIP/1002-0000000a", "AMPUSER=1002") in new stack
    -- Executing [s@macro-user-callerid:8] Set("PJSIP/1002-0000000a", "HOTDESCKCHAN=1002-0000000a") in new stack
    -- Executing [s@macro-user-callerid:9] Set("PJSIP/1002-0000000a", "HOTDESKEXTEN=1002") in new stack
    -- Executing [s@macro-user-callerid:10] Set("PJSIP/1002-0000000a", "HOTDESKCALL=0") in new stack
    -- Executing [s@macro-user-callerid:11] ExecIf("PJSIP/1002-0000000a", "0?Set(HOTDESKCALL=1)") in new stack
    -- Executing [s@macro-user-callerid:12] ExecIf("PJSIP/1002-0000000a", "0?Set(CALLERID(name)=)") in new stack
    -- Executing [s@macro-user-callerid:13] GotoIf("PJSIP/1002-0000000a", "0?report") in new stack
    -- Executing [s@macro-user-callerid:14] ExecIf("PJSIP/1002-0000000a", "1?Set(REALCALLERIDNUM=1002)") in new stack
    -- Executing [s@macro-user-callerid:15] Set("PJSIP/1002-0000000a", "AMPUSER=1002") in new stack
    -- Executing [s@macro-user-callerid:16] GotoIf("PJSIP/1002-0000000a", "0?limit") in new stack
    -- Executing [s@macro-user-callerid:17] Set("PJSIP/1002-0000000a", "AMPUSERCIDNAME=Name telephone") in new stack
    -- Executing [s@macro-user-callerid:18] ExecIf("PJSIP/1002-0000000a", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
    -- Executing [s@macro-user-callerid:19] GotoIf("PJSIP/1002-0000000a", "0?report") in new stack
    -- Executing [s@macro-user-callerid:20] Set("PJSIP/1002-0000000a", "AMPUSERCID=1002") in new stack
    -- Executing [s@macro-user-callerid:21] Set("PJSIP/1002-0000000a", "__DIAL_OPTIONS=Ttr") in new stack
    -- Executing [s@macro-user-callerid:22] Set("PJSIP/1002-0000000a", "CALLERID(all)="Name telephone" <1002>") in new stack
    -- Executing [s@macro-user-callerid:23] ExecIf("PJSIP/1002-0000000a", "0?Set(CUSDIAL=1004)") in new stack
    -- Executing [s@macro-user-callerid:24] ExecIf("PJSIP/1002-0000000a", "0?Set(CALLERID(all)="Name telephone" <1002>)") in new stack
    -- Executing [s@macro-user-callerid:25] GotoIf("PJSIP/1002-0000000a", "0?limit") in new stack
    -- Executing [s@macro-user-callerid:26] ExecIf("PJSIP/1002-0000000a", "0?Set(GROUP(concurrency_limit)=1002)") in new stack
    -- Executing [s@macro-user-callerid:27] ExecIf("PJSIP/1002-0000000a", "0?Set(CHANNEL(language)=)") in new stack
    -- Executing [s@macro-user-callerid:28] NoOp("PJSIP/1002-0000000a", "Macro Depth is 2") in new stack
    -- Executing [s@macro-user-callerid:29] GotoIf("PJSIP/1002-0000000a", "1?report2:macroerror") in new stack
    -- Goto (macro-user-callerid,s,30)
    -- Executing [s@macro-user-callerid:30] GotoIf("PJSIP/1002-0000000a", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:31] ExecIf("PJSIP/1002-0000000a", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
    -- Executing [s@macro-user-callerid:32] Set("PJSIP/1002-0000000a", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:33] GotoIf("PJSIP/1002-0000000a", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,49)
    -- Executing [s@macro-user-callerid:49] Set("PJSIP/1002-0000000a", "CALLERID(number)=1002") in new stack
    -- Executing [s@macro-user-callerid:50] Set("PJSIP/1002-0000000a", "CALLERID(name)=Name telephone") in new stack
    -- Executing [s@macro-user-callerid:51] GotoIf("PJSIP/1002-0000000a", "0?cnum") in new stack
    -- Executing [s@macro-user-callerid:52] Set("PJSIP/1002-0000000a", "CDR(cnam)=Name telephone") in new stack
    -- Executing [s@macro-user-callerid:53] Set("PJSIP/1002-0000000a", "CDR(cnum)=1002") in new stack
    -- Executing [s@macro-user-callerid:54] Set("PJSIP/1002-0000000a", "CHANNEL(language)=en") in new stack
    -- Executing [s@macro-exten-vm:2] Set("PJSIP/1002-0000000a", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("PJSIP/1002-0000000a", "__EXTTOCALL=1004") in new stack
    -- Executing [s@macro-exten-vm:4] Set("PJSIP/1002-0000000a", "__PICKUPMARK=1004") in new stack
    -- Executing [s@macro-exten-vm:5] Set("PJSIP/1002-0000000a", "RT=") in new stack
    -- Executing [s@macro-exten-vm:6] GotoIf("PJSIP/1002-0000000a", "1?startcheck:exitcheck") in new stack
    -- Goto (macro-exten-vm,s,7)
    -- Executing [s@macro-exten-vm:7] GotoIf("PJSIP/1002-0000000a", "0?featureSIP:featurePJSIP") in new stack
    -- Goto (macro-exten-vm,s,11)
    -- Executing [s@macro-exten-vm:11] ExecIf("PJSIP/1002-0000000a", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
    -- Executing [s@macro-exten-vm:12] ExecIf("PJSIP/1002-0000000a", "0?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:13] GotoIf("PJSIP/1002-0000000a", "1?featuremoniPJSIP:featuremoniSIP") in new stack
    -- Goto (macro-exten-vm,s,14)
    -- Executing [s@macro-exten-vm:14] ExecIf("PJSIP/1002-0000000a", "0?ChanSpy(PJSIP/1004,q)") in new stack
    -- Executing [s@macro-exten-vm:15] ExecIf("PJSIP/1002-0000000a", "0?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:16] GotoIf("PJSIP/1002-0000000a", "1?check-ext-intercom:featuremoniSIP") in new stack
    -- Goto (macro-exten-vm,s,19)
    -- Executing [s@macro-exten-vm:19] GotoIf("PJSIP/1002-0000000a", "0?ext-intercomSIP:ext-intercomPJSIP") in new stack
    -- Goto (macro-exten-vm,s,20)
    -- Executing [s@macro-exten-vm:20] ExecIf("PJSIP/1002-0000000a", "0?Gosub(ext-intercom,*801004,1())") in new stack
    -- Executing [s@macro-exten-vm:21] ExecIf("PJSIP/1002-0000000a", "0?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:22] GotoIf("PJSIP/1002-0000000a", "1?exitcheck:ext-intercomSIP") in new stack
    -- Goto (macro-exten-vm,s,25)
    -- Executing [s@macro-exten-vm:25] NoOp("PJSIP/1002-0000000a", "Exiting Checks") in new stack
    -- Executing [s@macro-exten-vm:26] Gosub("PJSIP/1002-0000000a", "sub-record-check,s,1(exten,1004,dontcare)") in new stack
    -- Executing [s@sub-record-check:1] GotoIf("PJSIP/1002-0000000a", "0?initialized") in new stack
    -- Executing [s@sub-record-check:2] Set("PJSIP/1002-0000000a", "__REC_STATUS=INITIALIZED") in new stack
    -- Executing [s@sub-record-check:3] Set("PJSIP/1002-0000000a", "NOW=1716821236") in new stack
    -- Executing [s@sub-record-check:4] Set("PJSIP/1002-0000000a", "__DAY=27") in new stack
    -- Executing [s@sub-record-check:5] Set("PJSIP/1002-0000000a", "__MONTH=05") in new stack
    -- Executing [s@sub-record-check:6] Set("PJSIP/1002-0000000a", "__YEAR=2024") in new stack
    -- Executing [s@sub-record-check:7] Set("PJSIP/1002-0000000a", "__TIMESTR=20240527-144716") in new stack
    -- Executing [s@sub-record-check:8] Set("PJSIP/1002-0000000a", "__FROMEXTEN=1002") in new stack
    -- Executing [s@sub-record-check:9] Set("PJSIP/1002-0000000a", "__MON_FMT=wav") in new stack
    -- Executing [s@sub-record-check:10] NoOp("PJSIP/1002-0000000a", "Recordings initialized") in new stack
    -- Executing [s@sub-record-check:11] ExecIf("PJSIP/1002-0000000a", "0?Set(ARG3=dontcare)") in new stack
    -- Executing [s@sub-record-check:12] Set("PJSIP/1002-0000000a", "REC_POLICY_MODE_SAVE=") in new stack
    -- Executing [s@sub-record-check:13] ExecIf("PJSIP/1002-0000000a", "0?Set(REC_STATUS=NO)") in new stack
    -- Executing [s@sub-record-check:14] GotoIf("PJSIP/1002-0000000a", "5?checkaction") in new stack
    -- Goto (sub-record-check,s,17)
    -- Executing [s@sub-record-check:17] GotoIf("PJSIP/1002-0000000a", "1?sub-record-check,exten,1") in new stack
    -- Goto (sub-record-check,exten,1)
    -- Executing [exten@sub-record-check:1] NoOp("PJSIP/1002-0000000a", "Exten Recording Check between 1002 and 1004") in new stack
    -- Executing [exten@sub-record-check:2] Set("PJSIP/1002-0000000a", "CALLTYPE=internal") in new stack
    -- Executing [exten@sub-record-check:3] ExecIf("PJSIP/1002-0000000a", "0?Set(CALLTYPE=)") in new stack
    -- Executing [exten@sub-record-check:4] Set("PJSIP/1002-0000000a", "CALLEE=dontcare") in new stack
    -- Executing [exten@sub-record-check:5] ExecIf("PJSIP/1002-0000000a", "0?Set(CALLEE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:6] GotoIf("PJSIP/1002-0000000a", "0?callee") in new stack
    -- Executing [exten@sub-record-check:7] GotoIf("PJSIP/1002-0000000a", "1?caller") in new stack
    -- Goto (sub-record-check,exten,13)
    -- Executing [exten@sub-record-check:13] Set("PJSIP/1002-0000000a", "RECMODE=dontcare") in new stack
    -- Executing [exten@sub-record-check:14] Set("PJSIP/1002-0000000a", "CALLERRECMODE=dontcare") in new stack
    -- Executing [exten@sub-record-check:15] Set("PJSIP/1002-0000000a", "CALEERECMODE=dontcare") in new stack
    -- Executing [exten@sub-record-check:16] GotoIf("PJSIP/1002-0000000a", "0?processnormal") in new stack
    -- Executing [exten@sub-record-check:17] ExecIf("PJSIP/1002-0000000a", "0?Set(RECMODE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:18] ExecIf("PJSIP/1002-0000000a", "0?Set(RECMODE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:19] ExecIf("PJSIP/1002-0000000a", "0?Set(RECMODE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:20] ExecIf("PJSIP/1002-0000000a", "0?Set(RECMODE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:21] ExecIf("PJSIP/1002-0000000a", "0?Set(RECMODE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:22] ExecIf("PJSIP/1002-0000000a", "1?Set(RECMODE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:23] Gosub("PJSIP/1002-0000000a", "recordcheck,1(dontcare,internal,1004)") in new stack
    -- Executing [recordcheck@sub-record-check:1] NoOp("PJSIP/1002-0000000a", "Starting recording check against dontcare") in new stack
    -- Executing [recordcheck@sub-record-check:2] Goto("PJSIP/1002-0000000a", "dontcare") in new stack
    -- Goto (sub-record-check,recordcheck,3)
    -- Executing [recordcheck@sub-record-check:3] Return("PJSIP/1002-0000000a", "") in new stack
    -- Executing [exten@sub-record-check:24] Return("PJSIP/1002-0000000a", "") in new stack
    -- Executing [s@macro-exten-vm:27] GotoIf("PJSIP/1002-0000000a", "1?macrodial") in new stack
    -- Goto (macro-exten-vm,s,33)
    -- Executing [s@macro-exten-vm:33] GosubIf("PJSIP/1002-0000000a", "0?clrheader,1()") in new stack
    -- Executing [s@macro-exten-vm:34] Macro("PJSIP/1002-0000000a", "dial-one,,Ttr,1004") in new stack
    -- Executing [s@macro-dial-one:1] Set("PJSIP/1002-0000000a", "DEXTEN=1004") in new stack
    -- Executing [s@macro-dial-one:2] Set("PJSIP/1002-0000000a", "__CRM_SOURCE=1002") in new stack
    -- Executing [s@macro-dial-one:3] ExecIf("PJSIP/1002-0000000a", "0?Set(__EXTTOCALL=1004)") in new stack
    -- Executing [s@macro-dial-one:4] Set("PJSIP/1002-0000000a", "DIALSTATUS_CW=") in new stack
    -- Executing [s@macro-dial-one:5] GosubIf("PJSIP/1002-0000000a", "0?screen,1()") in new stack
    -- Executing [s@macro-dial-one:6] GosubIf("PJSIP/1002-0000000a", "0?cf,1()") in new stack
    -- Executing [s@macro-dial-one:7] GotoIf("PJSIP/1002-0000000a", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,10)
    -- Executing [s@macro-dial-one:10] GotoIf("PJSIP/1002-0000000a", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:11] GotoIf("PJSIP/1002-0000000a", "0?continue") in new stack
    -- Executing [s@macro-dial-one:12] Set("PJSIP/1002-0000000a", "EXTHASCW=ENABLED") in new stack
    -- Executing [s@macro-dial-one:13] GotoIf("PJSIP/1002-0000000a", "0?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,25)
    -- Executing [s@macro-dial-one:25] GotoIf("PJSIP/1002-0000000a", "0?next3:continue") in new stack
    -- Goto (macro-dial-one,s,27)
    -- Executing [s@macro-dial-one:27] GotoIf("PJSIP/1002-0000000a", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:28] GosubIf("PJSIP/1002-0000000a", "1?dstring,1():dlocal,1()") in new stack
    -- Executing [dstring@macro-dial-one:1] Set("PJSIP/1002-0000000a", "DSTRING=") in new stack
    -- Executing [dstring@macro-dial-one:2] Set("PJSIP/1002-0000000a", "DEVICES=1004") in new stack
    -- Executing [dstring@macro-dial-one:3] ExecIf("PJSIP/1002-0000000a", "0?Return()") in new stack
    -- Executing [dstring@macro-dial-one:4] ExecIf("PJSIP/1002-0000000a", "0?Set(DEVICES=004)") in new stack
    -- Executing [dstring@macro-dial-one:5] Set("PJSIP/1002-0000000a", "LOOPCNT=1") in new stack
    -- Executing [dstring@macro-dial-one:6] Set("PJSIP/1002-0000000a", "ITER=1") in new stack
    -- Executing [dstring@macro-dial-one:7] Set("PJSIP/1002-0000000a", "THISDIAL=PJSIP/1004") in new stack
    -- Executing [dstring@macro-dial-one:8] GotoIf("PJSIP/1002-0000000a", "0?docheck") in new stack
    -- Executing [dstring@macro-dial-one:9] NoOp("PJSIP/1002-0000000a", "Debug: Found PJSIP Destination PJSIP/1004") in new stack
    -- Executing [dstring@macro-dial-one:10] GotoIf("PJSIP/1002-0000000a", "0?doset") in new stack
    -- Executing [dstring@macro-dial-one:11] NoOp("PJSIP/1002-0000000a", "Debug: Updating PJSIP Destination with PJSIP_DIAL_CONTACTS") in new stack
    -- Executing [dstring@macro-dial-one:12] Set("PJSIP/1002-0000000a", "THISDIAL=PJSIP/1004/sip:1004@---.---.---.---:22222;x-ast-orig-host=192.168.0.246:22222") in new stack
    -- Executing [dstring@macro-dial-one:13] ExecIf("PJSIP/1002-0000000a", "0?Set(DIALSTATUS=CHANUNAVAIL)") in new stack
    -- Executing [dstring@macro-dial-one:14] GotoIf("PJSIP/1002-0000000a", "0?skipset") in new stack
    -- Executing [dstring@macro-dial-one:15] Set("PJSIP/1002-0000000a", "DSTRING=PJSIP/1004/sip:1004@---.---.---.---:22222;x-ast-orig-host=192.168.0.246:22222&") in new stack
    -- Executing [dstring@macro-dial-one:16] Set("PJSIP/1002-0000000a", "ITER=2") in new stack
    -- Executing [dstring@macro-dial-one:17] GotoIf("PJSIP/1002-0000000a", "0?begin") in new stack
    -- Executing [dstring@macro-dial-one:18] ExecIf("PJSIP/1002-0000000a", "0?Return()") in new stack
    -- Executing [dstring@macro-dial-one:19] Set("PJSIP/1002-0000000a", "DSTRING=PJSIP/1004/sip:1004@---.---.---.---:22222;x-ast-orig-host=192.168.0.246:22222") in new stack
    -- Executing [dstring@macro-dial-one:20] Return("PJSIP/1002-0000000a", "") in new stack
    -- Executing [s@macro-dial-one:29] GotoIf("PJSIP/1002-0000000a", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:30] GotoIf("PJSIP/1002-0000000a", "0?skiptrace") in new stack
    -- Executing [s@macro-dial-one:31] GosubIf("PJSIP/1002-0000000a", "1?ctset,1():ctclear,1()") in new stack
    -- Executing [ctset@macro-dial-one:1] Set("PJSIP/1002-0000000a", "DB(CALLTRACE/1004)=1002") in new stack
    -- Executing [ctset@macro-dial-one:2] Return("PJSIP/1002-0000000a", "") in new stack
    -- Executing [s@macro-dial-one:32] Set("PJSIP/1002-0000000a", "D_OPTIONS=Ttr") in new stack
    -- Executing [s@macro-dial-one:33] GosubIf("PJSIP/1002-0000000a", "0?func-set-sipheader,s,1(Alert-Info,)") in new stack
    -- Executing [s@macro-dial-one:34] NoOp("PJSIP/1002-0000000a", "Blind Transfer: , Attended Transfer: , User: 1002, Alert Info: ") in new stack
    -- Executing [s@macro-dial-one:35] ExecIf("PJSIP/1002-0000000a", "1?Set(ALERT_INFO=)") in new stack
    -- Executing [s@macro-dial-one:36] ExecIf("PJSIP/1002-0000000a", "0?Set(ALERT_INFO=)") in new stack
    -- Executing [s@macro-dial-one:37] ExecIf("PJSIP/1002-0000000a", "0?Set(ALERT_INFO=)") in new stack
    -- Executing [s@macro-dial-one:38] ExecIf("PJSIP/1002-0000000a", "0?Set(ALERT_INFO=Normal;volume=)") in new stack
    -- Executing [s@macro-dial-one:39] ExecIf("PJSIP/1002-0000000a", "0?Set(ALERT_INFO=Normal;volume=)") in new stack
    -- Executing [s@macro-dial-one:40] GosubIf("PJSIP/1002-0000000a", "0?func-set-sipheader,s,1(Alert-Info,)") in new stack
    -- Executing [s@macro-dial-one:41] ExecIf("PJSIP/1002-0000000a", "0?Set(CHANNEL(musicclass)=)") in new stack
    -- Executing [s@macro-dial-one:42] GosubIf("PJSIP/1002-0000000a", "0?qwait,1()") in new stack
    -- Executing [s@macro-dial-one:43] Set("PJSIP/1002-0000000a", "__CWIGNORE=") in new stack
    -- Executing [s@macro-dial-one:44] Set("PJSIP/1002-0000000a", "__KEEPCID=TRUE") in new stack
    -- Executing [s@macro-dial-one:45] GotoIf("PJSIP/1002-0000000a", "0?usegoto,1") in new stack
    -- Executing [s@macro-dial-one:46] GotoIf("PJSIP/1002-0000000a", "0?godial") in new stack
    -- Executing [s@macro-dial-one:47] Gosub("PJSIP/1002-0000000a", "sub-presencestate-display,s,1(1004)") in new stack
    -- Executing [s@sub-presencestate-display:1] Goto("PJSIP/1002-0000000a", "state-available,1") in new stack
    -- Goto (sub-presencestate-display,state-available,1)
    -- Executing [state-available@sub-presencestate-display:1] Set("PJSIP/1002-0000000a", "PRESENCESTATE_DISPLAY=(Available)") in new stack
    -- Executing [state-available@sub-presencestate-display:2] Return("PJSIP/1002-0000000a", "") in new stack
    -- Executing [s@macro-dial-one:48] Set("PJSIP/1002-0000000a", "CONNECTEDLINE(name,i)=Name hub (Available)") in new stack
    -- Executing [s@macro-dial-one:49] Set("PJSIP/1002-0000000a", "CONNECTEDLINE(num)=1004") in new stack
    -- Executing [s@macro-dial-one:50] Set("PJSIP/1002-0000000a", "D_OPTIONS=Ttr") in new stack
    -- Executing [s@macro-dial-one:51] Macro("PJSIP/1002-0000000a", "dialout-one-predial-hook,") in new stack
    -- Executing [s@macro-dialout-one-predial-hook:1] MacroExit("PJSIP/1002-0000000a", "") in new stack
    -- Executing [s@macro-dial-one:52] ExecIf("PJSIP/1002-0000000a", "0?Set(D_OPTIONS=trI)") in new stack
    -- Executing [s@macro-dial-one:53] ExecIf("PJSIP/1002-0000000a", "0?Set(CWRING=r(callwaiting)):Set(CWRING=)") in new stack
    -- Executing [s@macro-dial-one:54] NoOp("PJSIP/1002-0000000a", "") in new stack
    -- Executing [s@macro-dial-one:55] ExecIf("PJSIP/1002-0000000a", "0?Set(D_OPTIONS=Ttrg)") in new stack
    -- Executing [s@macro-dial-one:56] Dial("PJSIP/1002-0000000a", "PJSIP/1004/sip:1004@---.---.---.---:22222;x-ast-orig-host=192.168.0.246:22222,,Ttrb(func-apply-sipheaders^s^1)") in new stack
    -- PJSIP/1004-0000000b Internal Gosub(func-apply-sipheaders,s,1) start
    -- Executing [s@func-apply-sipheaders:1] ExecIf("PJSIP/1004-0000000b", "0?Set(CHANNEL(hangup_handler_push)=crm-hangup,s,1)") in new stack
    -- Executing [s@func-apply-sipheaders:2] NoOp("PJSIP/1004-0000000b", "Applying SIP Headers to channel PJSIP/1004-0000000b") in new stack
    -- Executing [s@func-apply-sipheaders:3] Set("PJSIP/1004-0000000b", "TECH=PJSIP") in new stack
    -- Executing [s@func-apply-sipheaders:4] Set("PJSIP/1004-0000000b", "SIPHEADERKEYS=") in new stack
    -- Executing [s@func-apply-sipheaders:5] While("PJSIP/1004-0000000b", "0") in new stack
    -- Jumping to priority 13
    -- Executing [s@func-apply-sipheaders:14] Return("PJSIP/1004-0000000b", "") in new stack
  == Spawn extension (from-internal, 1004, 1) exited non-zero on 'PJSIP/1004-0000000b'
    -- PJSIP/1004-0000000b Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
    -- Called PJSIP/1004/sip:1004@---.---.---.---:22222;x-ast-orig-host=192.168.0.246:22222

<--- Transmitting SIP response (620 bytes) to UDP:---.---.---.---:43658 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.0.249:43658;rport=43658;received=---.---.---.---;branch=z9hG4bK.dD4MnkpCC
Call-ID: bZt-YqVj-0
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: <sip:1004@example.domain.com>;tag=18c7a98c-6ce7-4216-97ae-3ebb9e7617c3
CSeq: 21 INVITE
Server: FPBX-16.0.40.4(16.30.0)
Contact: <sip:***.***.***.***:54654>
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
P-Asserted-Identity: "Name hub" <sip:1004@example.domain.com>
Content-Length:  0


  == Using SIP RTP Audio TOS bits 184
  == Using SIP RTP Audio TOS bits 184 in TCLASS field.
  == Using SIP RTP Audio CoS mark 5
<--- Transmitting SIP request (1044 bytes) to UDP:---.---.---.---:22222 --->
INVITE sip:1004@---.---.---.---:22222 SIP/2.0
Via: SIP/2.0/UDP ***.***.***.***:54654;rport;branch=z9hG4bKPj0435be19-9d7e-4861-ab6c-3d032bc748c8
From: "Name telephone" <sip:1002@172.31.36.207>;tag=faa73306-40e6-4475-93a3-e37336ddb534
To: <sip:1004@---.---.---.--->
Contact: <sip:asterisk@***.***.***.***:54654>
Call-ID: f5f3ad95-70f4-46d1-bba4-981df1bf88b6
CSeq: 19258 INVITE
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Supported: 100rel, timer, replaces, norefersub, histinfo
Session-Expires: 1800
Min-SE: 90
P-Asserted-Identity: "Name telephone" <sip:1002@172.31.36.207>
Max-Forwards: 70
User-Agent: FPBX-16.0.40.4(16.30.0)
Content-Type: application/sdp
Content-Length:   281

v=0
o=- 551799510 551799510 IN IP4 ***.***.***.***
s=Asterisk
c=IN IP4 ***.***.***.***
t=0 0
m=audio 10904 RTP/AVP 107 101
a=rtpmap:107 opus/48000/2
a=fmtp:107 maxaveragebitrate=16000;cbr=1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:20
a=sendrecv

<--- Received SIP response (464 bytes) from UDP:---.---.---.---:22222 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP ***.***.***.***:22222;rport=22222;received=***.***.***.***;branch=z9hG4bKPj0435be19-9d7e-4861-ab6c-3d032bc748c8
Call-ID: f5f3ad95-70f4-46d1-bba4-981df1bf88b6
From: "Name telephone" <sip:1002@172.31.36.207>;tag=faa73306-40e6-4475-93a3-e37336ddb534
To: <sip:1004@***.***.***.***>
CSeq: 19258 INVITE
Contact: <sip:1004@192.168.0.246:22222;transport=udp>
Allow: INVITE, ACK, BYE, CANCEL, MESSAGE, OPTIONS
Content-Length:  0


<--- Received SIP response (834 bytes) from UDP:---.---.---.---:22222 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP ***.***.***.***:22222;rport=22222;received=***.***.***.***;branch=z9hG4bKPj0435be19-9d7e-4861-ab6c-3d032bc748c8
Call-ID: f5f3ad95-70f4-46d1-bba4-981df1bf88b6
From: "Name telephone" <sip:1002@172.31.36.207>;tag=faa73306-40e6-4475-93a3-e37336ddb534
To: <sip:1004@***.***.***.***>;tag=0c9e52d4-aac0-a87b-641b-e5c9f25dfdfa
CSeq: 19258 INVITE
Contact: <sip:1004@192.168.0.246:22222;transport=udp>
Allow: INVITE, ACK, BYE, CANCEL, MESSAGE, OPTIONS
Content-Type: application/sdp
Content-Length:  300

v=0
o=- 3894096249 3894096250 IN IP4 ---.---.---.---
t=0 0
m=audio 13333 RTP/AVP 107
c=IN IP4 ---.---.---.---
c=IN IP4 192.168.0.246
a=sendrecv
a=rtpmap:107 opus/48000/2
a=fmtp:107 maxplaybackrate=16000; sprop-maxcapturerate=16000; cbr=1; maxaveragebitrate=8000; stereo=0; sprop-stereo=0

<--- Transmitting SIP request (444 bytes) to UDP:---.---.---.---:22222 --->
ACK sip:1004@---.---.---.---:22222 SIP/2.0
Via: SIP/2.0/UDP ***.***.***.***:54654;rport;branch=z9hG4bKPjd6f186cc-ec49-4a4b-b7f3-25ffca92e805
From: "Name telephone" <sip:1002@172.31.36.207>;tag=faa73306-40e6-4475-93a3-e37336ddb534
To: <sip:1004@---.---.---.--->;tag=0c9e52d4-aac0-a87b-641b-e5c9f25dfdfa
Call-ID: f5f3ad95-70f4-46d1-bba4-981df1bf88b6
CSeq: 19258 ACK
Max-Forwards: 70
User-Agent: FPBX-16.0.40.4(16.30.0)
Content-Length:  0


    -- PJSIP/1004-0000000b answered PJSIP/1002-0000000a
<--- Transmitting SIP response (909 bytes) to UDP:---.---.---.---:43658 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.249:43658;rport=43658;received=---.---.---.---;branch=z9hG4bK.dD4MnkpCC
Call-ID: bZt-YqVj-0
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: <sip:1004@example.domain.com>;tag=18c7a98c-6ce7-4216-97ae-3ebb9e7617c3
CSeq: 21 INVITE
Server: FPBX-16.0.40.4(16.30.0)
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Contact: <sip:***.***.***.***:54654>
Supported: 100rel, timer, replaces, norefersub
P-Asserted-Identity: "Name hub" <sip:1004@example.domain.com>
Content-Type: application/sdp
Content-Length:   212

v=0
o=- 4088 3369 IN IP4 ***.***.***.***
s=Asterisk
c=IN IP4 ***.***.***.***
t=0 0
m=audio 18430 RTP/AVP 96
a=rtpmap:96 opus/48000/2
a=fmtp:96 maxaveragebitrate=16000;cbr=1
a=ptime:20
a=maxptime:20
a=sendrecv

    -- Channel PJSIP/1004-0000000b joined 'simple_bridge' basic-bridge <35d6940d-14c1-42e3-8d60-8d51c0f57ed7>
    -- Channel PJSIP/1002-0000000a joined 'simple_bridge' basic-bridge <35d6940d-14c1-42e3-8d60-8d51c0f57ed7>
<--- Transmitting SIP response (909 bytes) to UDP:---.---.---.---:43658 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.249:43658;rport=43658;received=---.---.---.---;branch=z9hG4bK.dD4MnkpCC
Call-ID: bZt-YqVj-0
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: <sip:1004@example.domain.com>;tag=18c7a98c-6ce7-4216-97ae-3ebb9e7617c3
CSeq: 21 INVITE
Server: FPBX-16.0.40.4(16.30.0)
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Contact: <sip:***.***.***.***:54654>
Supported: 100rel, timer, replaces, norefersub
P-Asserted-Identity: "Name hub" <sip:1004@example.domain.com>
Content-Type: application/sdp
Content-Length:   212

v=0
o=- 4088 3369 IN IP4 ***.***.***.***
s=Asterisk
c=IN IP4 ***.***.***.***
t=0 0
m=audio 18430 RTP/AVP 96
a=rtpmap:96 opus/48000/2
a=fmtp:96 maxaveragebitrate=16000;cbr=1
a=ptime:20
a=maxptime:20
a=sendrecv

<--- Received SIP request (725 bytes) from UDP:---.---.---.---:43658 --->
ACK sip:***.***.***.***:54654 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.249:43658;rport;branch=z9hG4bK.tmDTF12OX
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: <sip:1004@example.domain.com>;tag=18c7a98c-6ce7-4216-97ae-3ebb9e7617c3
CSeq: 21 ACK
Call-ID: bZt-YqVj-0
Max-Forwards: 70
Authorization:  Digest realm="asterisk", nonce="1716821236/a5ceb778fdb9e7cad9e9da49444a4d22", algorithm=MD5, opaque="73b17a5e6b78da1b", username="1002",  uri="sip:1004@example.domain.com", response="006f9bb249524f3aee9ee347b97a30b4", cnonce="imbMEYo-Iijm-zlI", nc=00000001, qop=auth
User-Agent: LinphoneAndroid/5.2.5 (Galaxy S22 Ultra) LinphoneSDK/5.3.47 (tags/5.3.47^0)


<--- Received SIP request (725 bytes) from UDP:---.---.---.---:43658 --->
ACK sip:***.***.***.***:54654 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.249:43658;branch=z9hG4bK.tmDTF12OX;rport
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: <sip:1004@example.domain.com>;tag=18c7a98c-6ce7-4216-97ae-3ebb9e7617c3
CSeq: 21 ACK
Call-ID: bZt-YqVj-0
Max-Forwards: 70
Authorization:  Digest realm="asterisk", nonce="1716821236/a5ceb778fdb9e7cad9e9da49444a4d22", algorithm=MD5, opaque="73b17a5e6b78da1b", username="1002",  uri="sip:1004@example.domain.com", response="006f9bb249524f3aee9ee347b97a30b4", cnonce="imbMEYo-Iijm-zlI", nc=00000001, qop=auth
User-Agent: LinphoneAndroid/5.2.5 (Galaxy S22 Ultra) LinphoneSDK/5.3.47 (tags/5.3.47^0)


<--- Received SIP request (697 bytes) from UDP:---.---.---.---:43658 --->
BYE sip:***.***.***.***:54654 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.249:43658;branch=z9hG4bK.aMn0hWKna;rport
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: <sip:1004@example.domain.com>;tag=18c7a98c-6ce7-4216-97ae-3ebb9e7617c3
CSeq: 22 BYE
Call-ID: bZt-YqVj-0
Max-Forwards: 70
User-Agent: LinphoneAndroid/5.2.5 (Galaxy S22 Ultra) LinphoneSDK/5.3.47 (tags/5.3.47^0)
Authorization:  Digest realm="asterisk", nonce="1716821236/a5ceb778fdb9e7cad9e9da49444a4d22", algorithm=MD5, opaque="73b17a5e6b78da1b", username="1002",  uri="sip:***.***.***.***:54654", response="8e0c57c36d1b8c582c0ebfcc4bf4f43f", cnonce="sUWTy3OmGBlEW9rj", nc=00000002, qop=auth


<--- Transmitting SIP response (373 bytes) to UDP:---.---.---.---:43658 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.249:43658;rport=43658;received=---.---.---.---;branch=z9hG4bK.aMn0hWKna
Call-ID: bZt-YqVj-0
From: <sip:1002@example.domain.com>;tag=eJyHdWf7O
To: <sip:1004@example.domain.com>;tag=18c7a98c-6ce7-4216-97ae-3ebb9e7617c3
CSeq: 22 BYE
Server: FPBX-16.0.40.4(16.30.0)
Content-Length:  0


    -- Channel PJSIP/1002-0000000a left 'simple_bridge' basic-bridge <35d6940d-14c1-42e3-8d60-8d51c0f57ed7>
  == Spawn extension (macro-dial-one, s, 56) exited non-zero on 'PJSIP/1002-0000000a' in macro 'dial-one'
  == Spawn extension (macro-exten-vm, s, 34) exited non-zero on 'PJSIP/1002-0000000a' in macro 'exten-vm'
  == Spawn extension (ext-local, 1004, 3) exited non-zero on 'PJSIP/1002-0000000a'
    -- Executing [h@ext-local:1] Macro("PJSIP/1002-0000000a", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("PJSIP/1002-0000000a", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Channel PJSIP/1004-0000000b left 'simple_bridge' basic-bridge <35d6940d-14c1-42e3-8d60-8d51c0f57ed7>
<--- Transmitting SIP request (468 bytes) to UDP:---.---.---.---:22222 --->
BYE sip:1004@---.---.---.---:22222 SIP/2.0
Via: SIP/2.0/UDP ***.***.***.***:54654;rport;branch=z9hG4bKPjb48e3c89-0332-4659-a84d-ebdb8f9d918f
From: "Name telephone" <sip:1002@172.31.36.207>;tag=faa73306-40e6-4475-93a3-e37336ddb534
To: <sip:1004@---.---.---.--->;tag=0c9e52d4-aac0-a87b-641b-e5c9f25dfdfa
Call-ID: f5f3ad95-70f4-46d1-bba4-981df1bf88b6
CSeq: 19259 BYE
Reason: Q.850;cause=16
Max-Forwards: 70
User-Agent: FPBX-16.0.40.4(16.30.0)
Content-Length:  0


    -- Executing [s@macro-hangupcall:3] ExecIf("PJSIP/1002-0000000a", "0?Set(CDR(recordingfile)=)") in new stack
    -- Executing [s@macro-hangupcall:4] Hangup("PJSIP/1002-0000000a", "") in new stack
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'PJSIP/1002-0000000a' in macro 'hangupcall'
  == Spawn extension (ext-local, h, 1) exited non-zero on 'PJSIP/1002-0000000a'
<--- Received SIP response (498 bytes) from UDP:---.---.---.---:22222 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP ***.***.***.***:22222;rport=22222;received=***.***.***.***;branch=z9hG4bKPjb48e3c89-0332-4659-a84d-ebdb8f9d918f
Call-ID: f5f3ad95-70f4-46d1-bba4-981df1bf88b6
From: "Name telephone" <sip:1002@172.31.36.207>;tag=faa73306-40e6-4475-93a3-e37336ddb534
To: <sip:1004@***.***.***.***>;tag=3cef40b9-d06a-4035-bca5-0d6161b7d16a
CSeq: 19259 BYE
Contact: <sip:1004@192.168.0.246:22222;transport=udp>
Allow: INVITE, ACK, BYE, CANCEL, MESSAGE, OPTIONS
Content-Length:  0


<--- Transmitting SIP request (424 bytes) to UDP:---.---.---.---:22222 --->
OPTIONS sip:1004@---.---.---.---:22222 SIP/2.0
Via: SIP/2.0/UDP ***.***.***.***:54654;rport;branch=z9hG4bKPj57dfb079-feed-4745-977d-69eb40092583
From: <sip:1004@172.31.36.207>;tag=eecc3aba-716d-43c7-add1-f9f42129c574
To: <sip:1004@---.---.---.--->
Contact: <sip:1004@***.***.***.***:54654>
Call-ID: e0e014ec-cf39-45da-8fe7-bc80df1582a0
CSeq: 13963 OPTIONS
Max-Forwards: 70
User-Agent: FPBX-16.0.40.4(16.30.0)
Content-Length:  0


<--- Received SIP response (522 bytes) from UDP:---.---.---.---:22222 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP ***.***.***.***:22222;rport=22222;received=***.***.***.***;branch=z9hG4bKPj57dfb079-feed-4745-977d-69eb40092583
Call-ID: e0e014ec-cf39-45da-8fe7-bc80df1582a0
From: <sip:1004@172.31.36.207>;tag=eecc3aba-716d-43c7-add1-f9f42129c574
To: <sip:1004@***.***.***.***>;tag=z9hG4bKPjb6530df0-07e9-4a5f-ab06-cfde1316a461
CSeq: 13963 OPTIONS
Contact: <sip:1004@192.168.0.246:22222;transport=udp>
Allow: INVITE, ACK, BYE, CANCEL, MESSAGE, OPTIONS
Accept: application/sdp, text/plain
Content-Length:  0


<--- Transmitting SIP request (424 bytes) to UDP:---.---.---.---:43658 --->
OPTIONS sip:1002@---.---.---.---:43658 SIP/2.0
Via: SIP/2.0/UDP ***.***.***.***:54654;rport;branch=z9hG4bKPj7adddfe8-b0c4-4928-a039-11d7673bc387
From: <sip:1002@172.31.36.207>;tag=45a1afbc-5314-40d2-b663-9a36a482516e
To: <sip:1002@---.---.---.--->
Contact: <sip:1002@***.***.***.***:54654>
Call-ID: e3ca6220-53ff-43ec-8dbb-49cc55849930
CSeq: 30795 OPTIONS
Max-Forwards: 70
User-Agent: FPBX-16.0.40.4(16.30.0)
Content-Length:  0


<--- Received SIP response (292 bytes) from UDP:---.---.---.---:43658 --->
SIP/2.0 200 Ok
Via: SIP/2.0/UDP ***.***.***.***:54654;rport;branch=z9hG4bKPj7adddfe8-b0c4-4928-a039-11d7673bc387
From: <sip:1002@172.31.36.207>;tag=45a1afbc-5314-40d2-b663-9a36a482516e
To: <sip:1002@---.---.---.--->;tag=RFJzQ
Call-ID: e3ca6220-53ff-43ec-8dbb-49cc55849930
CSeq: 30795 OPTIONS


<--- Transmitting SIP request (424 bytes) to UDP:---.---.---.---:22222 --->
OPTIONS sip:1004@---.---.---.---:22222 SIP/2.0
Via: SIP/2.0/UDP ***.***.***.***:54654;rport;branch=z9hG4bKPj1145fca8-7842-4f76-a1b6-06cd5f04e30d
From: <sip:1004@172.31.36.207>;tag=045c34ce-86b0-4e17-b06d-716f4405ee81
To: <sip:1004@---.---.---.--->
Contact: <sip:1004@***.***.***.***:54654>
Call-ID: bd0a2f62-9793-4901-be3e-bd62ebcaa81e
CSeq: 39079 OPTIONS
Max-Forwards: 70
User-Agent: FPBX-16.0.40.4(16.30.0)
Content-Length:  0


<--- Received SIP response (522 bytes) from UDP:---.---.---.---:22222 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP ***.***.***.***:22222;rport=22222;received=***.***.***.***;branch=z9hG4bKPj1145fca8-7842-4f76-a1b6-06cd5f04e30d
Call-ID: bd0a2f62-9793-4901-be3e-bd62ebcaa81e
From: <sip:1004@172.31.36.207>;tag=045c34ce-86b0-4e17-b06d-716f4405ee81
To: <sip:1004@***.***.***.***>;tag=z9hG4bKPjb6530df0-07e9-4a5f-ab06-cfde1316a461
CSeq: 39079 OPTIONS
Contact: <sip:1004@192.168.0.246:22222;transport=udp>
Allow: INVITE, ACK, BYE, CANCEL, MESSAGE, OPTIONS
Accept: application/sdp, text/plain
Content-Length:  0


<--- Transmitting SIP request (424 bytes) to UDP:---.---.---.---:43658 --->
OPTIONS sip:1002@---.---.---.---:43658 SIP/2.0
Via: SIP/2.0/UDP ***.***.***.***:54654;rport;branch=z9hG4bKPjf60bc833-aa95-49a8-a281-e31d698e1538
From: <sip:1002@172.31.36.207>;tag=0365c92d-a282-4a42-8b1b-2b3a313b6ac3
To: <sip:1002@---.---.---.--->
Contact: <sip:1002@***.***.***.***:54654>
Call-ID: a9054d1f-1157-40a8-afa2-b0ce631eee28
CSeq: 29192 OPTIONS
Max-Forwards: 70
User-Agent: FPBX-16.0.40.4(16.30.0)
Content-Length:  0


<--- Received SIP response (292 bytes) from UDP:---.---.---.---:43658 --->
SIP/2.0 200 Ok
Via: SIP/2.0/UDP ***.***.***.***:54654;rport;branch=z9hG4bKPjf60bc833-aa95-49a8-a281-e31d698e1538
From: <sip:1002@172.31.36.207>;tag=0365c92d-a282-4a42-8b1b-2b3a313b6ac3
To: <sip:1002@---.---.---.--->;tag=izohT
Call-ID: a9054d1f-1157-40a8-afa2-b0ce631eee28
CSeq: 29192 OPTIONS


<--- Transmitting SIP request (424 bytes) to UDP:---.---.---.---:22222 --->
OPTIONS sip:1004@---.---.---.---:22222 SIP/2.0
Via: SIP/2.0/UDP ***.***.***.***:54654;rport;branch=z9hG4bKPj86375e37-c64c-4326-8d65-39a2e2fc9d0b
From: <sip:1004@172.31.36.207>;tag=88af38c9-3e24-4840-8033-dc2d347cb25e
To: <sip:1004@---.---.---.--->
Contact: <sip:1004@***.***.***.***:54654>
Call-ID: 3c1efa05-2fe4-4d82-94b8-2319023ff4b8
CSeq: 50830 OPTIONS
Max-Forwards: 70
User-Agent: FPBX-16.0.40.4(16.30.0)
Content-Length:  0


<--- Received SIP response (522 bytes) from UDP:---.---.---.---:22222 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP ***.***.***.***:22222;rport=22222;received=***.***.***.***;branch=z9hG4bKPj86375e37-c64c-4326-8d65-39a2e2fc9d0b
Call-ID: 3c1efa05-2fe4-4d82-94b8-2319023ff4b8
From: <sip:1004@172.31.36.207>;tag=88af38c9-3e24-4840-8033-dc2d347cb25e
To: <sip:1004@***.***.***.***>;tag=z9hG4bKPjb6530df0-07e9-4a5f-ab06-cfde1316a461
CSeq: 50830 OPTIONS
Contact: <sip:1004@192.168.0.246:22222;transport=udp>
Allow: INVITE, ACK, BYE, CANCEL, MESSAGE, OPTIONS
Accept: application/sdp, text/plain
Content-Length:  0


It looks like an average bitrate of 16kHz was negotiated on both ends. Is that what you expected? If not, what is the configuration for all endpoints involved?

Device answer maxaveragebitrate=8000. But bitrate in direction to this device is 16 kbit/s

Oh, are you expecting that to pass back to the calling side? If so - that functionality doesn’t exist currently.

Client A make a call to client B. On client B can be different opportunities in different time depends on some conditions.
We want to choose call quality (bitrate) from client B. Did I understand right that it is not possible now?
May be there are possibilities to implement it as part of commercial support?

The negotiated information of a called party is not currently forwarded back to the calling party. They are independent. There is a Github pull request up that may do it, but I don’t recall the specific details of it or where it is. As for commercial support you could create a post in the Jobs section of the forum if wanted. It is not something that we (Sangoma) would undertake.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.