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.