Обнаружилась проблемка при эксплуатации девайса. Есть горка AP1005 - FXO шлюзов, есть SPA901,921. При связи телефонов и шлюзов все нормально, но когда идет звонок со шлюза на шлюз, то происходят странности с SDP.
Используется Freeswitch в качестве PBX.
GW1 -> FS -> GW2
Первый GW шлет такой SDP:
v=0
o=- 1189544700 1189544700 IN IP4 192.168.0.8
s=AddPac Gateway SDP
c=IN IP4 192.168.0.8
t=1189544700 0
m=audio 23964 RTP/AVP 18 4 116 2 0 8 101
a=rtpmap:18 G729/8000
a=rtpmap:4 G723/8000
a=rtpmap:116 G726-16/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
Ему в ответ GW2 отсылает:
v=0
o=989138657866 1214496470 1214496470 IN IP4 10.24.1.8
s=AddPac Gateway SDP
c=IN IP4 10.24.1.8
t=1214496470 0
m=audio 23434 RTP/AVP 18
a=rtpmap:18 G729/8000/3 <--- WTF?
a=ptime:20
Ну а FreeSWITCH полагает что G729/8000/3 это косячная строчка и преобразует его в такой перед отпрвакой на GW1:
v=0
o=989138657866 4667768711296699587 6633288917781619787 IN IP4 192.168.0.198
s=AddPac Gateway SDP
c=IN IP4 10.24.1.8
t=1214496173 0
m=audio 0 RTP/AVP 96
a=rtpmap:96 G729/8000/3
То есть делает канал неюзабельным, в итоге GW1 -> GW2 голос не идет.
Внимание, вопрос - что за /3 у GW2 нарисовалось? Откуда он предполагает брать 3 голосовых канала? Как отучить от этого?