Search code examples
node.jssipfreeswitch

Error: No drachtio_mrf sip profile found on the media server


I'm trying to execute the drachtio-fsmrf example but show me the drachtio_mrf sip profile is not found error. The media SIP server is freeswitch and I test some code examples with the same error.

The complete error trace is the next:

/home/ubuntu/my-drachtio-example/node_modules/drachtio-fsmrf/lib/mediaserver.js:117
        if( null === results ) { throw new Error('No drachtio_mrf sip profile found on the media server: ' + status);}
                                 ^

Error: No drachtio_mrf sip profile found on the media server:                      Name    Type                                       Data  State
=================================================================================================
            external-ipv6   profile                   sip:mod_sofia@[::1]:5080  RUNNING (0)
            174.31.10.112     alias                                   internal  ALIASED
                 external   profile           sip:mod_sofia@174.31.10.112:5080  RUNNING (0)
    external::example.com   gateway                    sip:joeuser@example.com  NOREG
            internal-ipv6   profile                   sip:mod_sofia@[::1]:5060  RUNNING (0)
                 internal   profile           sip:mod_sofia@174.31.10.112:5060  RUNNING (0)
=================================================================================================
4 profiles 1 alias

    at MediaServer. (/home/ubuntu/my-drachtio-example/node_modules/drachtio-fsmrf/lib/mediaserver.js:117:40)
    at . (/home/ubuntu/my-drachtio-example/node_modules/modesl/lib/esl/Connection.js:141:16)
    at EventEmitter.emit (/home/ubuntu/my-drachtio-example/node_modules/eventemitter2/lib/eventemitter2.js:339:22)
    at Connection._onEvent (/home/ubuntu/my-drachtio-example/node_modules/modesl/lib/esl/Connection.js:805:10)
    at EventEmitter.emit (/home/ubuntu/my-drachtio-example/node_modules/eventemitter2/lib/eventemitter2.js:339:22)
    at Parser._parseEvent (/home/ubuntu/my-drachtio-example/node_modules/modesl/lib/esl/Parser.js:208:10)
    at Parser._parseBody (/home/ubuntu/my-drachtio-example/node_modules/modesl/lib/esl/Parser.js:100:10)
    at Parser._parseHeaders (/home/ubuntu/my-drachtio-example/node_modules/modesl/lib/esl/Parser.js:76:37)
    at Parser._parseHeaders (/home/ubuntu/my-drachtio-example/node_modules/modesl/lib/esl/Parser.js:84:37)
    at Parser._parseHeaders (/home/ubuntu/my-drachtio-example/node_modules/modesl/lib/esl/Parser.js:84:37)

I followed the readme instructions from the repository and I think the error may be in the step of setting it as drachtio-fs-ansimbre project. I do not know how to do/apply this step.

The app code is:

var app = require('drachtio')() ;
var Mrf = require('drachtio-fsmrf') ;
var mrf = new Mrf(app) ;
var Srf = require('drachtio-srf') ;
var srf = new Srf(app) ;

srf.connect({
  host: '127.0.0.1',
  port: 9022,
  secret: 'cymru',
})
.on('connect', (err, hostport) => { console.log(`connected to drachtio listening on ${hostport}`) ;})
.on('error', (err) => { console.error(`Error connecting to drachtio at ${err || err.message}`) ; }) ;


mrf.connect( {
  address: '127.0.0.1',
  port: 8021,
  secret: 'ClueCon'
}, (ms) => {
  console.log(`connected to media server `);
  // save the media server object as in app locals so it can be retrieved from middleware
  srf.locals.ms = ms ;
}) ;

Solution

  • The error has been solved in this thread of the official project repository https://github.com/davehorton/drachtio-fsmrf/issues/3