@babblevoice/babble-drachtio-callmanager 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/call.js CHANGED
@@ -930,13 +930,14 @@ class call {
930
930
  alegremotesdp = sdpgen.create( this.parent._req.msg.body )
931
931
  }
932
932
 
933
- this.parent.selectedcodec = this.selectedcodec = this.sdp.remote.intersection(
933
+ this.selectedcodec = this.sdp.remote.intersection(
934
934
  alegremotesdp.intersection( this.options.preferedcodecs ), true )
935
935
 
936
- if( "" == this.selectedcodec ) {
936
+ if( this.selectedcodec ) {
937
+ this.parent.selectedcodec = this.selectedcodec
938
+ } else {
937
939
  /* Ok - transcode */
938
940
  this.selectedcodec = this.sdp.remote.intersection( this.options.preferedcodecs, true )
939
- this.parent.selectedcodec = this.options.preferedcodecs
940
941
  if( "" == this.selectedcodec || "" == this.parent.selectedcodec ) {
941
942
  return this.hangup( hangupcodes.INCOMPATIBLE_DESTINATION )
942
943
  }
@@ -1875,17 +1876,15 @@ class call {
1875
1876
  */
1876
1877
  static _createchannelremotedef( address, port, codec ) {
1877
1878
  return {
1878
- "remote": {
1879
- "address": address,
1880
- "port": port,
1881
- "codec": codec
1882
- /*
1883
- dtls:{
1884
- fingerprint: "",
1885
- setup: ""
1886
- }
1887
- */
1879
+ "address": address,
1880
+ "port": port,
1881
+ "codec": codec
1882
+ /*
1883
+ dtls:{
1884
+ fingerprint: "",
1885
+ setup: ""
1888
1886
  }
1887
+ */
1889
1888
  }
1890
1889
  }
1891
1890
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babblevoice/babble-drachtio-callmanager",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "Call processing to create a PBX",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -2,6 +2,7 @@
2
2
 
3
3
  const expect = require( "chai" ).expect
4
4
  const sdp = require( "../../lib/sdp.js" )
5
+ const call = require( "../../lib/call.js" )
5
6
 
6
7
  describe( "sdp", function() {
7
8
 
@@ -293,4 +294,40 @@ a=ssrc:2706351154 label:83ac3abd-cc86-427a-9cb7-ebac0c73964a`.replace(/(\r\n|\n|
293
294
  expect( oursdp.sdp.media[ 0 ].candidates[ 0 ].type ).to.equal( "host" )
294
295
  expect( oursdp.sdp.media[ 0 ].candidates[ 0 ].generation ).to.equal( 0 )
295
296
  } )
297
+
298
+ it( `sdp pcma real life sdp avon`, async function() {
299
+ const testsdp = `v=0
300
+ o=MTLSBC 1657399906 1657399907 IN IP4 213.166.4.136
301
+ s=SIP Call
302
+ c=IN IP4 213.166.4.136
303
+ t=0 0
304
+ a=sendrecv
305
+ m=audio 48380 RTP/AVP 8
306
+ a=rtpmap:8 PCMA/8000`
307
+
308
+ let oursdp = sdp.create( testsdp )
309
+ let selectedcodec = oursdp.intersection( "g722 ilbc pcmu pcma", true )
310
+ expect( selectedcodec ).to.equal( "pcma" )
311
+
312
+ } )
313
+
314
+ it( `sdp pcma real life sdp getautdio avon`, async function() {
315
+ const testsdp = `v=0
316
+ o=MTLSBC 1657399906 1657399907 IN IP4 213.166.4.136
317
+ s=SIP Call
318
+ c=IN IP4 213.166.4.136
319
+ t=0 0
320
+ a=sendrecv
321
+ m=audio 48380 RTP/AVP 8
322
+ a=rtpmap:8 PCMA/8000`
323
+
324
+ let oursdp = sdp.create( testsdp )
325
+ let remoteaudio = oursdp.getaudio()
326
+
327
+ let def = call._createchannelremotedef( remoteaudio.address, remoteaudio.port, remoteaudio.audio.payloads[ 0 ] )
328
+
329
+ expect( def.address ).to.equal( "213.166.4.136" )
330
+ expect( def.port ).to.equal( 48380 )
331
+ expect( def.codec ).to.equal( 8 )
332
+ } )
296
333
  } )